结构体数组赋值出现了问题,,,总不能赋值到第5个以后的
这个程序是统计A,B,C,D,E五所高校中各个院校单项成绩,,下面的程序只统计A学院的,男生,女生的成绩的总和用S1和S2表示#include<stdio.h>
#include<stdlib.h>
input(){
int i,j,s1,s2,n=0; //i表示多少个学生
scanf("%d",&i);
struct list{
char name[20];
char sex;
char school[20];
int score; //分数
int df; //得分
};
struct list l[100];
printf("名称\t性别\t校名\t成绩\t得分\n");
while(i--){
scanf("%s",l[n].name);
scanf("%c",&l[n].sex);
scanf("%s",l[n].school);
scanf("%d",&l[n].score);
scanf("%d",&l[n].df);
n++;
}
for(j=0;j<i;j++){
if(l[j].sex=='M') //M表示男性
s1=s1+l[j].df;
if(l[j].sex=='F') //F表示女性
s2=s2+l[j].df;
else
printf("error");
}
printf("s1=%d s2=%d",s1,s2); //s1,s2表示男女生的总分
}
main(){
char t;
loop:
printf("请输入需要统计的学校的名称:\n");
scanf("%c",&t);
switch(t){
case 'A': input();break;
case 'B': input();break;
case 'C': input();break;
case 'D': input();break;
case 'E': input();break;
default: printf("error");break;
}
goto loop;
}
这程序在赋值到第6个人的信息时就出错了,,,,求高手解释