下面程序有错的行是( ) main()

[复制链接]
查看11 | 回复3 | 2012-10-21 10:20:22 | 显示全部楼层 |阅读模式
main()1{3
float a [10]={0.0};4
int i;//少了分号。5
for(i=0;i<3;i++) scanf("%f",&a); //数据类型要和定义的一样,浮点是用%f,而用%d读是0的。6
for(i=0;i<10;i++) a[0]=a[0]+a;//如果是要求数组a的总和,这里for循环应该从1开始。否则a[0]会多加一次。另外,为什么输入3个数值,却求10个数字的总和?如果要求10数字的总和,第五行的3要改为10.7
printf("%5.1f\n",a[0]);//输出格式可以定义一下,使输出为带一个小数点,比如%5.1f。8...
回复

使用道具 举报

千问 | 2012-10-21 10:20:22 | 显示全部楼层
4错了——i后面少了个";"号;5错了——scanf("%d",&a)中用整型%d控制符输入浮点数a会产生不可思议的结果;7错了——printf("%d\n",a[0])中用整型%d控制符输出浮点数a[0]一般是个随机数或0,不会有正确结果。以上不包括逻辑错误。...
回复

使用道具 举报

千问 | 2012-10-21 10:20:22 | 显示全部楼层
4,少了分号。5,浮点是%f,不是%d,用%d读是0的。7,原因也是浮点打印也是%f。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行