C语言程序设计第三次作业

(一)改错题
计算f(x)的值:输入实数x,计算并输出下列分段函数f(x)的值,输出时保留1位小数。
源程序(有错误的程序)

错误信息

错误原因及改正:if语句后不能加分号;去掉分号即可。
错误信息

错误原因及改正:"y = 1 / x"后没有加";",应在后面加上";"即可。
错误信息

错误原因及改正:else后面不能跟条件,除了"x=10"之外就是"x!=10",直接用else 即可,把else后的条件删去即可。
错误信息

错误原因及改正:引号外没有加","未把格式输出串与输出表列分开,加上","即可。
错误信息

错误原因及改正:xy之间应有逗号隔开,在xy之间加上“,”号

错误原因

错误原因及改正:应保留一位小数,把"%.2f"改为"%.1f"即可。
错误原因

错误原因及改正:用了赋值符号而没有用等号,应把"="改为""。
改错后进行运算发现出现了如下错误:

错误信息:
错误原因及改正:引号内不能有"=",把"="删去,定义的类型x是double型,所以应把"%f"改为"%.lf"。
错误信息:
错误原因及改正:x没有取地址符"&",应该在"x"前加"&"--"&x"即可。
改正后计算如图:


发现输出格式与题目要求不符:


错误改正:应把其中的"\n"删去才与格式相符,此时运行正确,修改完成。源代码如图

(二)学习总结
1.if(a)if(b) x=x+1;else y=y+1; 的确切含义是什么?这个else应该和哪个if配对?如何明确表达这种配对方法?将该段代码按照规范化的格式进行书写。
所给的数据"if(a)if(b) x=x+1;else y=y+1"表示在满足a和b的条件下执行“”x=x+1“”,否则执行"else"后的语句,为"且"的条件,用"&&"表示,根据else与最近的未配对if配对原则,else应与第二个if配对,并在每个if句处使用"{}"包含语句,改正后如下所示:

2.C语言的表达式 (-10< x <10)能够表达x在区间(-10,10)吗?为什么?如果不能,正确的表达式应该怎么写?
不能表达x在区间(-10,10),因为系统进行运算按照从左到右的顺序,同时在系统内部进行判断,并不表示区间,所以输出值只可能是0或1。

3.C语言中输入数据时,如果遇到非法字符,则认为输入结束。运行程序(1),输入123a,看看输出结果是什么?你能解释是为什么吗?,
程序(1)


可以看到在a之前输入停止,a被赋值123,而b则被赋值为1,这是由于输入过程中如果遇到了非法字符则,停止输入。在a后继续输入如图

想要正确输入a,经检查可得,应该用适用于单个字符输出的%c代替b处的%d,如图

此时输入123a,a在"a"之前就停止输入,数值为123,a被赋值给b,得到b=a如图

由于此时b被定义为字符型,输入数字会出现以上的问题,数字会被认为时非法字符,输入数字会停止输入。如下图

(2)scanf()函数的返回值是成功读入数据的个数,如果没有读取任何数据,则返回0。运行程序(2),分别输入123 45和123a,看看输出结果是什么?为什么?
程序(2)

输入123和45:

根据题知scanf()函数的返回值是成功读入数据的个数,因此此处返回值为2,表示成功读入两个数据。输入123a得到下图:

此时因为第一组数据有非法字符"a",导致输入被终止,所以成功导入的数据个数为1,因此输出为"n = 1"。修改程序(1),当输入非法数据时,输出“Input error!".
.由于第一组数据为123和45,第二组数据为123a,由程序(2)可以想到他们的scanf()返回值分别为1和2,由此可想到设另一个变量n来表示输入了非法字符与正确数据。

输入数据123 45和123a


4.对其他你认为需要进行总结的内容进行总结。
注意if语句和else语句的格式问题,注意“”
“与“=“在表达意义上的区别,注意“{}”的位置以及对应关系
(三)实验总结
1 计算分段函数
流程图:

源代码:

结果:

2:算术入门之加减乘除
流程图:

源代码:

结果:

3:输出三角形面积和周长:本题要求编写程序,根据输入的三角形的三条边a、b、c,计算并输出面积和周长。注意:在一个三角形中, 任意两边之和大于第三边。三角形面积计算公式:area=√
​s(s−a)(s−b)(s−c),其中s=(a+b+c)/2。
​流程图:

源代码:

结果:

4:本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:
起步里程为3公里,起步费10元;
超起步里程后10公里内,每公里2元;
超过10公里以上的部分加收50%的回空补贴费,即每公里3元;
营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。
流程图:

源代码:

结果:

:(四)PTA提交列表


posted on 2017-10-27 13:21  永恒破碎  阅读(591)  评论(0编辑  收藏  举报

导航