{"title":"C++编程:找出学习小状元和最高最低分","description":"本文介绍了使用C++编程语言解决一个简单的学生成绩统计问题,包括计算总分、找出总分最高的学生和所有成绩中的最高最低分。文章提供了详细的代码实现和注释,并解释了思路,帮助读者学习C++编程和数据处理。","keywords":"C++,编程,学生成绩,统计,总分,最高分,最低分,学习小状元","content":""C++:题目描述\n小明同学所在的班级共有N名同学,期末考试时进行了数学、语文、英语、 地理四门功课的测试。现要将班里总分最高的同学评为"学习小状元"。\n\n请同学们帮助计算:\n\n(1)每位同学的总分是多少?\n\n(2)找出总分最高的那位同学。\n\n(3)找出所有成绩中最高的分数和最小的分数。\n\n输入描述\n第一行:有一个整数N,表示有N名同学(已知1≤N≤30 )。\n\n后N行:每两行代表一个人的信息记录:包括学生的姓名及4门功课的分数:其中分数为整数,每个分数互不相同(不需判断),各数据之间空1个格。\n\n输出描述\n前N行:每行一个数据是每位同学的总分;\n\n第N+1行:是总分最高的那位同学的姓名;\n\n第N+2行:是所有成绩中最高的分数和最小的分数(空1格)\n\n【要求】\n\n每一行的数据都从第一列开始输出。\n\n样例1\n输入\n3 \nhong 98 90 87 74\nming 96 92 85 97 \nzhang 95 78 56 91\n输出\n349\n370\n320\nming\n98 56"以下是使用C++实现的解题思路:\n\n1. 首先定义一个结构体student,表示每个学生的姓名和四门功课的分数。\n2. 根据输入的N,创建一个大小为N的student数组,用于存储每个学生的信息。\n3. 使用for循环遍历N次,每次读取一位学生的姓名和四门功课的分数,并将其存入对应的student结构体中。\n4. 使用for循环遍历N次,计算每位学生的总分,并将总分打印到标准输出中。\n5. 使用for循环遍历N次,找出总分最高的那位同学,并将其姓名打印到标准输出中。\n6. 使用for循环遍历四次,分别找出数学、语文、英语、地理四门功课的最高分和最低分,并将其打印到标准输出中。\n\n以下是具体的C++代码实现:\n\ncpp\n#include <iostream>\n#include <string>\nusing namespace std; \n\nstruct student {\n string name;\n int math;\n int chinese;\n int english;\n int geography;\n};\n\nint main() {\n int N;\n cin >> N;\n \n student students[N];\n \n for (int i = 0; i < N; i++) {\n cin >> students[i].name;\n cin >> students[i].math;\n cin >> students[i].chinese;\n cin >> students[i].english;\n cin >> students[i].geography;\n }\n \n int highestScore = 0;\n string highestName;\n \n int mathHighest = students[0].math;\n int chineseHighest = students[0].chinese;\n int englishHighest = students[0].english;\n int geographyHighest = students[0].geography;\n \n int mathLowest = students[0].math;\n int chineseLowest = students[0].chinese;\n int englishLowest = students[0].english;\n int geographyLowest = students[0].geography;\n \n for (int i = 0; i < N; i++) {\n int totalScore = students[i].math + students[i].chinese + students[i].english + students[i].geography;\n cout << totalScore << endl;\n \n if (totalScore > highestScore) {\n highestScore = totalScore;\n highestName = students[i].name;\n }\n \n if (students[i].math > mathHighest) {\n mathHighest = students[i].math;\n }\n if (students[i].chinese > chineseHighest) {\n chineseHighest = students[i].chinese;\n }\n if (students[i].english > englishHighest) {\n englishHighest = students[i].english;\n }\n if (students[i].geography > geographyHighest) {\n geographyHighest = students[i].geography;\n }\n \n if (students[i].math < mathLowest) {\n mathLowest = students[i].math;\n }\n if (students[i].chinese < chineseLowest) {\n chineseLowest = students[i].chinese;\n }\n if (students[i].english < englishLowest) {\n englishLowest = students[i].english;\n }\n if (students[i].geography < geographyLowest) {\n geographyLowest = students[i].geography;\n }\n }\n \n cout << highestName << endl;\n cout << mathHighest << " " << mathLowest << endl;\n cout << chineseHighest << " " << chineseLowest << endl;\n cout << englishHighest << " " << englishLowest << endl;\n cout << geographyHighest << " " << geographyLowest << endl;\n \n return 0;\n}\n\n\n希望对你有帮助!\n


原文地址: http://www.cveoy.top/t/topic/pFs9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录