如下,箭头指的地方数据类型要用 %f
#include <stdio.h>
int main()
{
int i,j;
float sum = 0;
float average[4];
int a[4][5] = {{80,86,82,76,78}, {86,80,84,74,72}, {80,86,82,84,70}, {86,80,72,92,98}};
for(j = 0; j < 4; j++)
{
for(i = 0; i < 5; i++)
{
sum = sum + a[j][i];
}
average[j] = sum / 5;
sum = 0;
}
printf("第一个学生的平均成绩:%f\n", average[0]);
printf("第二个学生的平均成绩:%f\n", average[1]);
printf("第三个学生的平均成绩:%f\n", average[2]);
printf("第四个学生的平均成绩:%f\n", average[3]);
return 0;
}
(1)average[j] = sum / 5; 改成
average[j] = sum / 5.0;
(2)下面printf中的%d都改成%f
printf("第一个学生的平均成绩:%f\n", average[0]);
printf("第二个学生的平均成绩:%f\n", average[1]);
printf("第三个学生的平均成绩:%f\n", average[2]);
printf("第四个学生的平均成绩:%f\n", average[3]);
因为你的average定义是float 最后的输出printf写的类型是%d float对应应该用%f 将输出中的%d全部改为%f就可以了
第一: 最终结果是浮点型数据,所以average[j]=sum/5.0;一定要写成5.0才可以,至少保证有一个是带小数点的
第二:既然是浮点数,打印时用%f而不是%d
把float改成double