当前位置:   article > 正文

#C++#有5个学生,每个学生的资料包括学号、姓名、3门课成绩,用赋初值方法输入5个学生的数据到结构体数组中,输出每个学生3门课的平均成绩(保留2位小数)。在上题中,按平均成绩由高到低排序,输出每个学_有5个学生,每个学生的资料包括学号、姓名、3门课成绩,用赋初值方法输入5个学生的

有5个学生,每个学生的资料包括学号、姓名、3门课成绩,用赋初值方法输入5个学生的

1.有5个学生,每个学生的资料包括学号、姓名、3门课成绩,用赋初值方法输入5个学生的数据到结构体数组中,输出每个学生3门课的平均成绩(保留2位小数)。输出格式为:

No    name   score1  score2  score3   average

101   Zhou     93      89           87          ------

102   Yang     85      80           78         ------

103   Chen     77      70           83           ------

104   Qian     70      67            60           ------

105   Li       72      70               69            ------

2.在上题中,按平均成绩由高到低排序,输出每个学生的成绩,输出格式与上题相同】

  1. #include <stdio.h>
  2. struct student
  3. {
  4. int num;
  5. char name[20];
  6. float score[3];
  7. float ave;
  8. }stu[5];
  9. int main()
  10. {
  11. void input();
  12. void sort_score();
  13. void print_score();
  14. input();
  15. sort_score();
  16. print_score();
  17. return 0;
  18. }
  19. void input()
  20. {
  21. int i;
  22. printf("请输入5个学生的学号、姓名、3门课程成绩:\n");
  23. for(i=0;i<5;i++)
  24. {
  25. scanf("%d%s%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
  26. stu[i].ave=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3.0;
  27. }
  28. }
  29. void print_score()
  30. {
  31. int i;
  32. printf("%6s%20s%6s%6s%6s%10s\n","No","name","score1","score2","score3","average");
  33. for(i=0;i<5;i++)
  34. printf("%6d%20s%6d%6d%6d%10.1f\n",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].ave);
  35. }
  36. void sort_score()
  37. {
  38. struct student s;
  39. for(int i=0;i<4;i++)
  40. for(int j=0;j<4-i;j++)
  41. {
  42. if(stu[j].ave < stu[j+1].ave)
  43. {
  44. s= stu[j];
  45. stu[j] = stu[j+1];
  46. stu[j+1] = s;
  47. }
  48. }
  49. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/517548
推荐阅读
相关标签
  

闽ICP备14008679号