定义一个学生成绩的结构体数组,编写函数,根据学生成绩给出“优、良、中、及格”的评定“90-100”-优、“80-90”-良,“70-80”-中,“60-70”-及格。
2条回答 默认 最新
- CSDN专家-link 2021-07-01 14:53关注
成绩除以10,用switch...case...
struct student { char name[20]; int score; char grade[10]; }stu[100]; int n=0; void fun() { for(int i=0;i<n;i++) { int g = stu[i].score/10; switch(g) { case 9: case 10: stu[i].grade = "优"; break; case 8: stu[i].grade = "良"; break; case 7: stu[i].grade = "中"; break; case 6: stu[i].grade = "及格"; break; default: stu[i].grade = "不及格"; break; } } } void main() { printf("请输入学生人数:"); scanf("%d",&n); printf("请逐行输入%d个学生的姓名和成绩:\n",n); int i; for(i=0;i<n;i++) scanf("%s %d",stu[i].name,&stu[i].score); fun(); for(i=0;i<n;i++) printf("%s %d %s\n",stu[i].name,stu[i].score,stu[i].grade); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用展开全部4条评论