首页 > 其他分享 >统计分数

统计分数

时间:2023-09-15 22:11:19浏览次数:35  
标签:分数 10 students break ++ 总分 printf 统计

已知共有 30名学生,每名学生有数学、语文、物理、化学、英语5门功课,班主任需要统计总分在前 10名的同学的姓名和学号,另外特别关注这10名同学中有某门功课低于 80分的同学,请编写程序实现上述功能。

 1 #include <stdio.h>
 2 #include <string.h>
 3 
 4 // 定义学生结构体
 5 struct Student {
 6     char name[50];
 7     int id;
 8     int scores[5]; // 数学、语文、物理、化学、英语
 9     int totalScore;
10 };
11 
12 int main() {
13     struct Student students[30];
14     int i, j;
15 
16     // 输入学生信息
17     for (i = 0; i < 30; i++) {
18         printf("请输入第%d名学生的姓名: ", i + 1);
19         scanf("%s", students[i].name);
20         printf("请输入第%d名学生的学号: ", i + 1);
21         scanf("%d", &students[i].id);
22 
23         // 输入五门功课成绩
24         for (j = 0; j < 5; j++) {
25             printf("请输入%s的%s成绩: ", students[i].name,
26              j == 0 ? "数学" : (j == 1 ? "语文" : (j == 2 ? "物理" : (j == 3 ? "化学" : "英语"))));
27             scanf("%d", &students[i].scores[j]);
28         }
29 
30         // 计算总分
31         students[i].totalScore = 0;
32         for (j = 0; j < 5; j++) {
33             students[i].totalScore += students[i].scores[j];
34         }
35     }
36 
37     // 对学生按总分降序排序
38     for (i = 0; i < 30 - 1; i++) {
39         for (j = 0; j < 30 - i - 1; j++) {
40             if (students[j].totalScore < students[j + 1].totalScore) {
41                 // 交换学生信息
42                 struct Student temp = students[j];
43                 students[j] = students[j + 1];
44                 students[j + 1] = temp;
45             }
46         }
47     }
48 
49     // 输出总分前10名的学生信息
50     printf("总分前10名的学生信息:\n");
51     for (i = 0; i < 10; i++) {
52         printf("姓名: %s, 学号: %d, 总分: %d\n", students[i].name,
53          students[i].id, students[i].totalScore);
54     }
55 
56     // 检查是否有某门功课低于80分的学生
57     printf("总分前10名中以下学生有某门功课低于80分:\n");
58     for (i = 0; i < 10; i++) {
59         for (j = 0; j < 5; j++) {
60             if (students[i].scores[j] < 80) {
61                 printf("姓名: %s, 学号: %d, 低于80分的功课: ", students[i].name,
62                  students[i].id);
63                 switch (j) {
64                     case 0:
65                         printf("数学\n");
66                         break;
67                     case 1:
68                         printf("语文\n");
69                         break;
70                     case 2:
71                         printf("物理\n");
72                         break;
73                     case 3:
74                         printf("化学\n");
75                         break;
76                     case 4:
77                         printf("英语\n");
78                         break;
79                 }
80                 break;
81             }
82         }
83     }
84 
85     return 0;
86 }

 

标签:分数,10,students,break,++,总分,printf,统计
From: https://www.cnblogs.com/daiang/p/17706015.html

相关文章

  • 快速分析项目状况!试试这款项目代码统计 IDEA 插件—— Statistic
    前言InteIIiJIDEA2023.2版本发布了,在2023.2中,官方根据用户的宝贵反馈对新UI做出了大量改进,新UI界面大大减少了干扰,可以让用户更好地专注于代码。但官方激活码的校验规则进行了更新,之前已经成功激活的Idea可能突然无法使用了,给大家准备了激活码:IDEA激活 https://www.kdocs.c......
  • 推荐一款IDEA插件,帮你快速统计「烂代码」
    Statistic插件编程是一个很奇妙的事情,大部分的我们把大部分时间实际都花在了复制粘贴,而后修改代码上面。很多时候,我们并不关注代码质量,只要功能能实现,我才不管一个类的代码有多长、一个方法的代码有多长。因此,我们经常会碰到让自己想要骂街的项目,不过,说真的,你自己写的代码也有......
  • RTE 领域近期词云统计发布;谷歌开始新一轮「瘦身」计划;使用ChatGPT之后智力提高 50%丨R
    开发者朋友们大家好:这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。不知不觉,我们的日报已经发布了50期,作为RTE领域最垂直的日报栏目,我们的社区编辑团队会整理分享RTE(RealTimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考......
  • PivotGridControl自定义行数据的统计公式
    我们在使用PivotGridControl进行数据统计的时候,用时候需要在不同的行使用不同的汇总公式的情况,本文就是为了说明怎么实现此功能,如下图说明 数据源: 注意:此时数据列指定的SummaryType设置的是Sum;并且数据列指定了为double类型  SummaryType指定的几种聚合函数,Max、Min、......
  • 10个学生成绩统计分析软件网站,你是否知道
    以下是十个学生成绩统计分析软件网站,它们提供了各种功能和工具,用于学生成绩的统计、分析和可视化。1.GradeBook(https://www.gradebook.org/):GradeBook是一个全面的学生成绩管理和分析平台。它提供了成绩输入、计算、报告和个性化学生跟踪等功能,帮助教育者更好地监控和管理......
  • es 排序 聚合统计
    (27条消息)es排序聚合统计_吐血整理:一文看懂ES的R,查询与聚合_weixin_39901439的博客-CSDN博客模糊匹配select*fromcompanywherenamelike'%康康%'GETred/_search{"query":{"match":{"companyname":"康康"}}}上述查询会查......
  • 概率统计 - 方差,标准差(均方差),均方误差
    定义方差:描述数据与均值的偏离程度标准差:为了更直观的描述数据与均值的偏离程度,标准差=√方差均方误差:描述数据与真实值的偏离程度 方差计算示例求下面一组数的方差:12345a)先求平均数(1+2+3+4+5)/5=3b)再求各个数与均值差的平方和∑(x-E(x))2=(1-3)2+(2-3)2+(3-3)2+(......
  • SQL字段不同值数量统计
    SELECT customer_id, count(*)numFROM uic_contractGROUPBY customer_idORDERBY numdescSELECT uea.energy_id, uep.prod_name, sum(uea.cost_num)numFROM uic_energy_accountuea LEFTJOINuic_energy_produepONuep.id=uea.energy_idWHERE u......
  • 统计图入门
    为什么需要统计图?因为统计图是一种可以简单、快速了解数据的一种图形可视化方式。为什么需要各式各样的统计图?每个人的社会分工不一样,工作内容的不一样,工作目标就会不一样,这就导致了数据和数据内容是各种各样的。同样的数据,用不同的统计图展示时,基于需求的不同,一定会有一种是......
  • SDOI2015 序列统计
    题目链接description给定一个质数\(m\),以及\(n,x\)和集合\(S\)。从集合\(S\)中任意选数构成长度为\(n\)的数列(一个数可以选多次),求数列元素乘积模\(m\)等于\(x\)的数列的数量。模\(1004535809\)。\(3\leqm\leq8000\)\(1\leqn\leq10^9\)\(|S|\leqm,0\leqx<m......