第二次c语言作业
一 改错题
1
错误信息(1)
错误原因 stido
改正方法 stdio
错误信息 (2)
错误原因 第三个printf的小括号后面和前面的颜色不一样分号也是
改正方法 重新按小括号和分号颜色应该是红色
错误信息 (3)
错误原因 第二个printf后面没加分号
改正方法 加上分号
错误信息 (4)
错误原因 mian
改正方法 main
2
错误信息 (1)
错误原因 stdio后面有.h
改正方法 加上.h
错误信息 (2)
错误原因 注释符号不全
改正方法 在输出后面加*/
错误信息 (3)
错误原因 第二个printf里面d前面缺个%
改正方法 在d前面加个%
二 学习总结
1、(1)int :
(2)long:
(3)float:
(4)double:
2、运行结果
修改程序之i+1后运行结果
为什么:整数的值如果超过它的最大值,将发生溢出,即整数溢出。整数i就像一个汽车里程指示表,当达到最大值时,当达到最大值时,它将溢出到起始点(即最小值)。
修改程序j-1后运行结果
为什么:同理整数的值如果超过它的最小值,将发生溢出,即整数溢出。当达到最小值时,当达到最大值时,它将溢出到起始点(即最大值)。
3、
输入的三个数进制不同%0是八进制%x是十六进制
4、内容总结
注意各种运算符的使用,在那种运算符里符号应该用什么 。后面该用分号用分号不该用的不要加如if后面。注意整型和实型用什么表示
还有三种进制该用哪种用哪种。整型和实型的转换。还有英文不要打错如stdio和main。double型的输入要加一个l。注意什么时候该加空格。
三 实验总结
1求整数均值
(1)题目
本题要求编写程序,计算4个整数的和与平均值。题目保证输入和输出均在整型范围内。
(2)流程图
(3)源代码
#include <stdio.h>
int main(void)
{
int a,b,c,d,Sum;
double Average;
scanf("%d %d %d %d",&a,&b,&c,&d);
Sum = a+b+c+d;
Average = (double)(a+b+c+d)/4;
printf("Sum = %d; Average = %.1f",Sum,Average);
return 0;
}
(4)测试数据和运行结果
(5)实验分析
问题1:求平均值除以四是整数应该保留一位小数
原因 整型除以整型结果是整型
解决办法 可以除以4.0
2、是不是太胖了
(1)题目
给定某人身高,计算他的标准体重是多少。
(2)流程图
(3)源代码
#include <stdio.h>
int main(void)
{
int H;
double g, k;
scanf("%d",&H);
k =(double)(H-100) *0.9;
g = 2*k;
printf("%.1f",g);
return 0;
}
(4)测试数据和运行结果
(5)实验分析
问题1 :输出的时候用%d
原因:惯性思维
解决方法:%.1f
5、计算物体自由下落的距离
(1)题目
一个物体从100米高空自由落下,编写程序,求他在前三秒内下落的垂直距离。
(2)流程图
(3)源代码
#include <stdio.h>
int main(void)
{
int g,t,x;
double height;
g = 10;
t = 3;
x = g*t*t;
height = (1.00/2)*x;
printf("height = %.2f",height);
return 0;
}
(4)测试数据和运行结果
(5)实验分析
问题1:高度输出来是0
原因:整型除整形结果还是整型
解决方法:加个double或在1或2后加.00
9、逆序的三位数
(1)题目
程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。
(2)流程图
(3)源代码
#include <stdio.h>
int main(void)
{
int a,b,c,d;
scanf("%d",&a);
b=a%10;
c=a%100/10;
d=a/100;
if(b==0&&c==0) {printf("%d",d);
}
if(b==0&&c!=0){printf("%d%d",c,d);
}
if(b!=0){printf("%d%d%d",b,c,d);
}
return 0;
}
(4)测试数据和运行结果
(5)实验分析
问题1 :编译错误
原因:在这种运算符中等号用表示和用&&表示
解决方法:把=换成把and换成&&表示
四 pta提交列表
(一)
(二)