解题思路:
没啥思路,就按照题目的描述去一步步地求解,编程就是这样,不要被问题字数的多少迷惑了你的双眼,题目本身一大坨,读完题目,我去,我得干这个、这个、还有那个,这么多的问题,从何做起啊!从何下手啊!
编程之前要看大局,但是编程的过程中要看步骤,把大问题分解成一个个的小步骤,我先干这个,再干这个,然后再去干这个,最后干这个,然后写代码时只盯着每一个小步骤,写这个步骤的代码,就不要去想其他步骤的事情,否则你只会越想越多,越想越乱,越想越难,按部就班,逐个击破之就OK。
注意事项:
最后计算平均分时,千万不能除7,要除5,因为7位评委,通过最高最低分已经少了两位了,老铁!
参考代码:
#include <string.h> #include <stdio.h> #include <stdlib.h> #include <math.h> struct grade { float grade[7];//7个评委的分数 char name[30];//选手的姓名 }; int main() { struct grade studentGrade; while (scanf("%f %f %f %f %f %f %f %s", &studentGrade.grade[0], &studentGrade.grade[1], &studentGrade.grade[2], &studentGrade.grade[3], &studentGrade.grade[4], &studentGrade.grade[5], &studentGrade.grade[6], studentGrade.name) != EOF) { //寻找最高、最低分 int max = 0, min = 6; for (int i = 0; i < 7; ++i) { if (studentGrade.grade[i] > studentGrade.grade[max]) { max =i; } if (studentGrade.grade[i] < studentGrade.grade[min]) { min = i; } } //去掉最高分、最低分 studentGrade.grade[max] = 0; studentGrade.grade[min] = 0; //计算总分 float averageGrade = 0.0; for (int j = 0; j < 7; ++j) { averageGrade += studentGrade.grade[j]; } //计算平均分 averageGrade /= 5;//一定要注意,少了两位评委,除得是5,可千万别除7 //输出结果 printf("%s %.2f\n", studentGrade.name, averageGrade); } return 0; }
0.0分
3 人评分
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:572 |
数组输出 (C语言代码)浏览:767 |
简单的a+b (C语言代码)浏览:644 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:508 |
C语言训练-求素数问题 (C语言代码)浏览:1451 |
母牛的故事 (C语言代码)浏览:435 |
C语言程序设计教程(第三版)课后习题1.5 (C++代码)浏览:755 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:612 |
水仙花 (C语言代码)浏览:1047 |
蚂蚁感冒 (C语言代码)浏览:1319 |