C语言程序设计第二次作业
1、
错误信息1:
错误原因:main拼写错误
改正方法:把mian改成main
错误信息2:
错误原因:stido拼写错误
改正方法:把stido改成stdio
错误信息3:
错误原因:第三条printf语句缺一个引号
改正方法:在第三条printf语句最后括号里加引号
错误信息4:
错误原因:第二条printf语句最后缺分号
改正方法:在第二条printf语句最后加个分号
2、
错误信息1:
错误原因:头文件错误
改正方法:在stdio 后边加上.h
错误信息2:
错误原因:输出的注释符号缺失
改正方法:在输出后面加上*/
(二)
1、
2、
结果是
输出i+1结果是
因为i的最大值就是214783647,输出i+1的时候会超过这个最大值,就像油箱满了之后再加就会爆掉,剩下最小值;而输出i-1时,只是油箱没有加满,少了一,并不会爆掉
3、
scanf语句输入时因为%o为八进制,%x为十六进制
4、
运算对象加运算符构成表达式,表达式加分号构成表达式语句,运算对象可以是表达式、常量、变量。如赋值运算符加运算对象构成赋值表达式,赋值表达式加分号又可构成赋值语句。%d对应整型,%f对应单精度实型,%c对应字符型,%e对应指数型。可在%和格式字符之间加一个数来控制数据所占的宽度和小数位数。
(三)
2、
(1)题目
厘米换算英尺英寸,如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。
(2)流程图
(3)源代码
include<stdio.h>
int main(void)
{
int cm;
int foot, inch;
scanf("%d",&cm);
foot= cm / 30.48;
inch= 12 * (cm / 30.48 - foot);
printf("%d %d\n", foot, inch);
return 0;
}
(4)测试数据及运行结果
(5)实验分析
问题:赋值语句格式出现错误
原因:丢了好多空格
解决办法:从题上直接复制
4、
(1)题目
给定两个绝对值不超过100的整数A和B,输出A乘以B的值。
(2)流程图
(3)源代码
include<stdio.h>
int main(void)
{
int A = 0,B = 0,c = 0;
scanf("%d%d",&A,&B);
c = A * B;
printf("%d",c);
return 0;
}
(4)测试数据及运行结果
(5)实验分析
问题:输出错误
原因:跟原题AB大小写不一致
解决办法:把ab改成大写
7、
(1)题目
编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。
(2)流程图
(3)源代码
include<stdio.h>
int main(void)
{
int a = 0,b = 0,c = 0, d = 0,e = 0,f = 0;
scanf("%d%d",&a,&b);
c = a + b;
d = a - b;
e = a * b;
f = a / b;
printf("%d + %d = %d\n",a,b,c);
printf("%d - %d = %d\n",a,b,d);
printf("%d * %d = %d\n",a,b,e);
printf("%d / %d = %d\n",a,b,f);
return 0;
}
(4)测试数据及运行结果
(5)实验分析
问题:输出的值为随机数
原因:没有声明变量的值
解决办法:在int语句后初始化声明变量的值
8、
(1)题目
编写程序,输出整数152的个位数字、十位数字和百位数字的值。
(2)流程图
(3)源代码
include <stdio.h>
int main(void)
{
int A,B,C;
A = 152 % 10;
B = 152 / 10 % 10;
C = 152 / 100;
printf("152 = %d + %d10 + %d100",A,B,C);
return 0;
}
(4)测试数据及运行结果
(5)实验分析
问题:输出值不正确
原因:求余和除法结合使用错误
解决办法:理清思路,仔细想数学老师怎么教的
(四)PTA提交列表
顺序结构(1)
顺序结构(2)
希望老师同学能帮忙提出改进意见,谢谢