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、运行程序