#include<stdio.h>
main()
{ char name[6];
float marks[6][5],a[6];
int i,j,sum=0;
for(i=0;i<6;i++)
{ printf("No:",name[i]);
scanf("%s\n",&name[i]);
for(j=0;j<5;j++)
{ scanf("%f",&marks[i][j]);
sum=sum+marks[i][j];
}
printf("\n");
a[i]=(sum/5);
printf("%.2f\n",a[i]);
}
getch();
}
哪里出错了 怎么会输出有问题 求不出答案
#include<stdio.h>
#include<conio.h>
main()
{ char name[6];
float marks[6][5],a[6],sum=0.0;
int i,j,;
for(i=0;i<6;i++)
{ printf("No:" ); //这行应该只是提示No:然后让拥护输入吧,那name[i]就没用....
scanf("% c \n",&name[i]); //这name[i] 的状态只是char 类型的字符,不是字符串.要把%s 改成%c
for(j=0;j<5;j++)
{ scanf("%f",&marks[i][j]);
sum=sum+marks[i][j]; // 把marks数组和整型的sum 相加会导致数据的误差.可以把sum改成float
}
printf("\n");
a[i]=(sum/5);
printf("%.2f\n",a[i]);
}
getch(); //此函数是包含在头文件#include<conio.h>里面的.
}
在输入每个学生数据前,应该将sum重置为0 ,否则就会累加上一个学生的成绩。
for(i=0;i<6;i++)
{
sum = 0;
printf("No:",name[i]);
.......
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息