user-0 提问: 大佬们

回复:
user: user-1
content: 输入num和name的地方这样改：     scanf("%d%s",&stu[i].num, stu[i].name);

user: user-0
content: 引用 7 楼 寻开心的回复:你的 i循环范围 是  i=0; i<N; i++ j循环范围也要是 j=0; j<10; j++ 才行 有问题，把你改到出问题时候的代码贴出来提问 #include <stdio.h> #define N 2 struct student  { int num; char  name[10]; float score[10]; }stu[N]; int main() { struct student stu[10];   int i,j; float averscore[N],sum; for(i=0;i<N;i++) {   sum=0;     scanf("%d，%s",&stu[i].name); for(j=0;j<10;j++) { scanf("%f",&stu[i].score[j]); sum+=stu[i].score[j];    } averscore[i]=sum*1.0/10;             printf("%s学生的10门课程总平均成绩:%f\n",stu[i].name,averscore[i]);         printf("%s学生的10门课程总分是：%f\n",stu[i].name,sum); } return 0; }

user: user-1
content: 你的 i循环范围 是  i=0; i<N; i++ j循环范围也要是 j=0; j<10; j++ 才行 有问题，把你改到出问题时候的代码贴出来提问

user: user-0
content: 引用 1 楼 寻开心的回复:struct Student {      int id;     char name[20];     int score[10]; } students[2];  还是自己写吧，都是最基础的 还是不行 输出是乱码

user: user-0
content: 引用 4 楼 寻开心的回复:#include <stdio.h> #define N 2 struct student  { int num; char  name[10]; folat score[10];  // 这里怎么是 folat啊， float }  stu[N];   // 这里定一个了一个全局的变量。stu【N】 int main() { struct student stu[10];  这里又定义了同名的 局部变量； 如果要用函数实现一些子功能就不要这个定义，删掉即可   int i,j; float averscore[N],sum,highscore; for(i=0;i<=N;i++) {       sum=0;     scanf("%d%s",&stu[i].num, &stu[i].name); // 这里使用的都是局部变量     for(j=1;j<=10;j++)     {        scanf("%f",&stu[i].score[j]);        sum+=stu[i].score[j];        }     averscore[i]=sum/10;  // 这里是整数除法。 可以改成 *0.1就是浮点数了             printf("%s学生的10门课程总平均成绩:%f\n",stu[i].name,averscore[i]);         printf("%s学生的10门课程总分是：%f\n",stu[i].name,sum); } return 0; } #include <stdio.h> #define N 2 struct student  { int num; char  name[10]; float score[10]; }stu[N]; int main() { struct student stu[10];   int i,j; float averscore,sum; for(i=0;i<=N;i++) {   sum=0;     scanf("%d,%s",&stu[i].num,&stu[i].name); for(j=0;j<=10;j++) { scanf("%f",&stu[i].score[j]); sum+=stu[i].score[j];    } averscore=sum*1.0/10;             printf("%s学生的10门课程总平均成绩:%f\n",stu[i].name,averscore);         printf("%s学生的10门课程总分是：%f\n",stu[i].name,sum); } return 0; }

user: user-1
content: #include <stdio.h> #define N 2 struct student  { int num; char  name[10]; folat score[10];  // 这里怎么是 folat啊， float }  stu[N];   // 这里定一个了一个全局的变量。stu【N】 int main() { struct student stu[10];  这里又定义了同名的 局部变量； 如果要用函数实现一些子功能就不要这个定义，删掉即可   int i,j; float averscore[N],sum,highscore; for(i=0;i<=N;i++) {       sum=0;     scanf("%d%s",&stu[i].num, &stu[i].name); // 这里使用的都是局部变量     for(j=1;j<=10;j++)     {        scanf("%f",&stu[i].score[j]);        sum+=stu[i].score[j];        }     averscore[i]=sum/10;  // 这里是整数除法。 可以改成 *0.1就是浮点数了             printf("%s学生的10门课程总平均成绩:%f\n",stu[i].name,averscore[i]);         printf("%s学生的10门课程总分是：%f\n",stu[i].name,sum); } return 0; }

user: user-0
content: 引用 1 楼 寻开心的回复:struct Student {      int id;     char name[20];     int score[10]; } students[2];  还是自己写吧，都是最基础的 这个怎么只能输一个人的数据 不能输两个呀

user: user-0
content: 引用 1 楼 寻开心的回复:struct Student {      int id;     char name[20];     int score[10]; } students[2];  还是自己写吧，都是最基础的 #include <stdio.h> #define N 2 struct student  { int num; char  name[10]; folat score[10]; }stu[N]; int main() { struct student stu[10];   int i,j; float averscore[N],sum,highscore; for(i=0;i<=N;i++) {   sum=0;     scanf("%d%s",&stu[i].num,&stu[i].name); for(j=1;j<=10;j++) { scanf("%f",&stu[i].score[j]); sum+=stu[i].score[j];    } averscore[i]=sum/10;             printf("%s学生的10门课程总平均成绩:%f\n",stu[i].name,averscore[i]);         printf("%s学生的10门课程总分是：%f\n",stu[i].name,sum); } return 0; }

user: user-1
content: struct Student {      int id;     char name[20];     int score[10]; } students[2];  还是自己写吧，都是最基础的