#include<stdio.h>
struct student
{ char name[20];
int number;
char place;
int score;
}stu[4];
int main()
{ int i;
float j,m;j=0;
for(i=0;i<4;i++)
{scanf("%s,%d,%s,%d",stu[i].name,stu[i].number,stu[i].place,stu[i].score);
j+=stu[i].score;}
m=j/4;
printf("%d",m);
return 0;
}
没有报错,最后我输入,结果是0 不知道哪里的问题
(1)结构体里:char place;,你在输入时用%s,应该用%c,或者将place改成字符数组;
(2)scanf里。除了字符串,其他要加&;
(3)输出m,m定义为float,输出应该用%f。
你先改改这些
修改处见注释,供参考:
#include<stdio.h>
struct student
{
char name[20];
int number;
char place[20]; //char place;
int score;
}stu[4];
int main()
{
int i;
float j,m;j=0;
for(i=0;i<4;i++)
{
scanf("%s %d %s %d",stu[i].name,&stu[i].number,stu[i].place,&stu[i].score);
//scanf("%s,%d,%s,%d",stu[i].name,stu[i].number,stu[i].place,stu[i].score);
j+=stu[i].score;
}
m=j/4;
printf("%f",m);
//printf("%d",m);
return 0;
}