C语言程序设计第二次作业——顺序结构

一:改错题
(1)输出指定信息:
将给定源代码输入:

执行编译命令:

错误信息1:

错误原因:英语单词拼写错误。
改正方法:stido--stdio。
错误信息2:

错误原因:缺少“;”。
改正方法:在printf(" Welcome\n")后加上“;”。
错误信息3:

错误原因:括号内缺少“””。
改正方法:在右括号前加上“””。
错误信息4:

错误原因:单词拼写错误。
改正方法:mian--main。
最终编译运行:


(2)输出指定信息:
将给定源代码输入:

执行编译命令:

错误信息1:

错误原因:<>内缺少“.h”。
改正方法:在<>内加上“.h”。
错误信息2:

错误原因:源程序的多行注释符缺少“/”
改正方法:将/改为//
错误信息3:


编译无错误,但是运行不正确。
错误原因:第二个printf语句中缺少%。
改正方法:在d前加上%。
错误信息4:


编译无错误,但是运行不正确。
错误原因:%d与后面变量个数不同。
改正方法:加上x,y。
错误信息5:


编译无错误,但是运行不正确。
错误原因:x的初始值未设为3。
改正方法:将x初始值设为3。
错误信息6:


运行格式不太好。
错误原因:缺少\n。
改正方法:补充\n。
最终编译运行:


二:学习总结
(1)根据所给源代码求short型变量所占字节数:

运行结果:

(2)求int整型变量所占字节:

运行结果:

(3)求long 长整型变量所占字节数:

运行结果:

(4)求float浮点型变量所占字节:

运行结果:

(5)求double浮点型所占字节:

运行结果:

(二)求最大与最小值:
(1)int

(2)i+1

发现最大值与最小值相同,出现种情况是因为如果int整形变量超出最大值会导致溢出,所以又从最小值开始。
(3)j-1
发现最小值变得与最大值相等,所以当INT_MIN减去一个正数时,也会发生溢出现象。
(三)根据所给程序,输入100 144 64:

运行:

因为:%o为八进制整数的输入格式,%x为16进制整数的输入格式,而在输出语句,发现格式化输出符号均为
十进制整数的输出格式,所以这是导致上述运行结果的原因;
(4)对本章进行总结:
虽然这门课程才刚开始学,应该是比较简单的,但感觉自己做起题来还是有点吃力,有些问题还是得问同学,
所以还得加强练习,只有足够熟练才能做得够好。
三:实验总结
我的题号是1 3 5 9。
1
(1)本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。
(2)流程图

(3)源代码

#include <stdio.h>
int main()
{  
	    int a,b,c,d,Sum;

    double Average;

    scanf("%d %d %d %d",&a,&b,&c,&d);

    Sum = a+b+c+d;

    Average = (a+b+c+d)/4.0;

    printf("Sum = %d; Average = %.1f",Sum,Average);

    return 0;
} 

(4)测试数据及运行结果:
测试数据:1234
运行结果:

(5)实验分析:
当变量不是整形时,不可用int,比如小数应用double型,保留一位小数应该是%.1f。
3
(1)是不是太胖了
据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤是公斤的两倍。现给定某人身高,请你计算其标准体重应该是多少?(顺便也悄悄给自己算一下吧……)
(2)流程图

(3)源代码

#include <stdio.h>
int main()
{
    int H;

    double W;

    scanf("%d",&H);

    W = (H-100)*0.9*2;

    printf("%.1f",W);

    return 0;
}

(4)测试数据及运行结果:
测试数据:123
运行结果:

(5)实验分析:
市斤 公斤 斤的换算要弄清楚。
5
(1)计算物体自由下落的距离
一个物体从100米的高空自由落下。编写程序,求它在前3秒内下落的垂直距离。设重力加速度为10米/秒2。
(2)流程图

(3)源代码

#include <stdio.h>
int main()
{
    double height;

    height = 1/2.0*10*3*3;

    printf("%.2f",height);

    return 0; 
}

(4)运行结果:

(5)实验分析:
保留两位小数用“%.2f”表示,1/2的结果不是0.5而是1,要想是结果不是整形应该用1/2.0。
9
(1)逆序的三位数
程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。
(2)流程图

(3)源代码

# include <stdio.h>
int main(void)
{
    int a,b,c,d,e;

    scanf("%d",&a);

    b = a/100;

    c = a%100/10;

    d = a%10;

    e = d*100+c*10+b;

    printf("%d",e);

    return 0;
}

(4)测试数据及运行结果:
测试数据:123
运行结果:

测试数据:700
运行结果:

(5)实验分析:
当要求三位数的第几位数时,要用求商/,求余%相结合的方法求。
四 PTA提交列表:
顺序结构(1):

顺序结构(2)

posted @ 2017-10-22 20:02  计科1702冯亚杰  阅读(2449)  评论(0编辑  收藏  举报