如何用结构体数组玩成绩
1、struct student
{
int score;
char *name;
};//定义一个结构体
2、 int i;
struct student stus[3];//定义结构体数组
//找最高分
struct student maxstu;
struct student minstu;
3、for(i=0;i<sizeof(stus)/sizeof(stus[0]);i++){
printf("请输入%d个学生的名字:\n",i+1);
stus[i].name = (char*)malloc(128);
scanf("%s",stus[i].name);//对于字符串数组或字符串指针变量,由于数组名可以转换为数组和指针变量名本身就是地址,因此使用scanf()函数时,不需要在它们前面加上"&"操作符。
4、printf("请输入%d个学生的分数:\n",i+1);
scanf("%d",&stus[i].score);
}
5、for(i=0;i<sizeof(stus)/sizeof(stus[0]);i++){
printf("第%d个学生的名字和分数:",i+1);
printf("%s:%d\n",stus[i].name,stus[i].score);
}
6、maxstu = minstu = stus[0];
for(i=0;i<sizeof(stus)/sizeof(stus[0]);i++){
if(maxstu.score<stus[i].score){
maxstu = stus[i];
}
7、 if(maxstu.score>stus[i].score){
maxstu = stus[i];
}
}
8、 puts("==================================================");
printf("考最高分的是:%s:%d\n",maxstu.name,maxstu.score);
printf("考最低分的是:%s:%d\n",minstu.name,minstu.score);
9、运行程序