C语言:这道题我怎么能出50个编译错误呢?跪求帮我看看谢谢~~

来源:百度知道 编辑:UC知道 时间:2024/05/24 19:27:40
例题:定义一个5个元素的 struct STUDENT 数组,从键盘输入5个学生的信息。
(1)查找数组中是否有“Tom”这个人,若找到,则输入其所有信息;若没有找到,给出提示信息。
(2)找到语文成绩最高的学生,并输出该学生的所有信息。

#include<stdio.h>
#include<string.h>
struct STUDENT
{char Name[10]=0;
int Age=0;
int Chinese=0,Math=0;
};
main()
{struct STUDENT a[5];
int i=0;
char xingming[10];
int MaxChinese;
for(i=0;i<5;i++)
{printf("请输入第%d个学生的信息\n",i+1);
scanf("%s%d%d%d",a[i].Name,&a[i].Age,&a[i].Chinese,&a[i].Math);}

printf("学生信息为\n");
for(i=0;i<5;i++)
printf("姓名%s 年龄%d 语文%d 数学%d\n",a[i].Name,a[i].Age,a[i].Chinese,a[i].Math);

printf("输入要查找的学生姓名\n");
scanf("%s",xingming);

for(i=0,i<5;i++)
{if(strcmp(a[i].Name,xingming)==0)
printf("姓名%s 年龄%d 语文%d 数学%d\n",a[i].Name,a[i].Age,a[i].Chinese,a[i].Math);break;}
}
MaxChinese=a[0].C

char Name[10]=0;
char 怎么能这么初始?
char Name[10]; 就行了

scanf("%s%d%d%d",a[i].Name,&a[i].Age,&a[i].Chinese,&a[i].Math);}
%s,%d,%d,%d
错误太多了 建议再看看书

谁告诉你的struct里面可以直接给初值的?
struct STUDENT
{char Name[10];
int Age;
int Chinese,Math;

STUDENT (){
Chinese=Math=Age=0;
Name[0]=0;
}

};