#include <stdio.h> #include <string.h> struct Students { char id[10]; char name[20]; int score1; int score2; int score3; }; int main() { struct Students srr[50]; int n; scanf("%d",&n); for(int i=0;i<n;i++) { scanf("%s%s%d%d",&srr[i].id,&srr[i].name,&srr[i].score1,&srr[i].score2,&srr[i].score3); } int i=0; printf("%s%s%d%d",&srr[i].id,&srr[i].name,&srr[i].score1,&srr[i].score2,&srr[i].score3); return 0; }哪里有问题
时间: 2024-02-22 18:57:16 浏览: 231
#include <stdio.h>
4星 · 用户满意度95%
在输入学生信息的部分,scanf的格式控制字符串应该为"%s%s%d%d%d",因为输入了3个整数分数,而不是2个。此外,在输出学生信息的部分,printf的格式控制字符串应该为"%s%s%d%d%d",并且需要使用数组下标来输出所有的学生信息,而不是只输出第一个学生的信息。正确的输出方式是:
```
for(int i=0;i<n;i++)
{
printf("%s %s %d %d %d\n",srr[i].id,srr[i].name,srr[i].score1,srr[i].score2,srr[i].score3);
}
```
阅读全文