C语言 设计一个程序统计某个班全体学生3门课的考试成绩。要求能输入学生人数,并按编号从小到大的顺序依次输入学生的成绩,再统计出每门课程的全班总分、平均分及每个考生所有考试的总分和平均分。

时间: 2023-06-12 07:05:54 浏览: 290
下面是一个基于 C 语言的程序,实现了统计某个班全体学生3门课的考试成绩,包括输入学生人数、按编号从小到大的顺序依次输入学生的成绩、统计每门课程的全班总分、平均分及每个考生所有考试的总分和平均分的功能。 ```c #include <stdio.h> #define MAX_STUDENT_NUM 100 int main() { int n, i, j; float score[MAX_STUDENT_NUM][3]; // 每个学生的三门成绩 float sum[3] = {0}; // 每门课程的总分 float avg[3] = {0}; // 每门课程的平均分 float sum_all[MAX_STUDENT_NUM] = {0}; // 每个学生所有成绩的总分 float avg_all[MAX_STUDENT_NUM] = {0}; // 每个学生所有成绩的平均分 printf("请输入学生人数:\n"); scanf("%d", &n); if (n > MAX_STUDENT_NUM) { printf("学生人数不能超过 %d\n", MAX_STUDENT_NUM); return 1; } printf("请依次输入每个学生的三门成绩:\n"); for (i = 0; i < n; i++) { printf("第 %d 个学生:", i+1); for (j = 0; j < 3; j++) { scanf("%f", &score[i][j]); sum[j] += score[i][j]; sum_all[i] += score[i][j]; } avg_all[i] = sum_all[i] / 3; } printf("每门课程的总分为:%.2f %.2f %.2f\n", sum[0], sum[1], sum[2]); printf("每门课程的平均分为:%.2f %.2f %.2f\n", sum[0]/n, sum[1]/n, sum[2]/n); printf("每个学生所有考试的总分和平均分为:\n"); for (i = 0; i < n; i++) { printf("第 %d 个学生:%.2f %.2f\n", i+1, sum_all[i], avg_all[i]); } return 0; } ``` 程序中,首先定义了一个最大学生人数的常量 `MAX_STUDENT_NUM`,以防止输入超出程序处理能力的学生人数。然后,定义了一个二维数组 `score`,用于存储每个学生的三门成绩,以及三个一维数组 `sum`、`avg`和 `sum_all`,用于存储每门课程的总分、平均分、每个学生所有成绩的总分和平均分。 程序运行后,先要求输入学生人数,然后依次输入每个学生的三门成绩,并按编号从小到大的顺序保存到 `score` 数组中。在输入的过程中,同时计算每门课程的总分和每个学生所有成绩的总分,并保存到 `sum` 数组和 `sum_all` 数组中。最后,计算每门课程的平均分和每个学生所有成绩的平均分,并输出结果。 注意,程序中使用了 `scanf()` 函数来接受用户的输入,通过 `%f` 格式符来读取浮点数。同时,为了防止输入超出 `score` 数组的范围,程序在接受学生人数的输入时进行了判断。

相关推荐

最新推荐

recommend-type

C语言程序设计实现学生成绩记录簿

通过编写c语言《学生成绩记录簿系统...3)C语言程序设计的主要任务是要求学生遵循软件开发过程的基本规范,运用结构化程序设计的方法,按照课程设计的题目要求,分析、设计、编写、调试和测试C语言程序及编写设计报告。
recommend-type

c语言作业——学生成绩统计.docx

(3)统计学生成绩分布情况(每个分数段人数); (4)查找最高分、最低分;计算学生成绩均值和方差;并输出这四个结果; (5)判断成绩是否服从正态分布; (6)统计不同生源地学生的平均成绩,按平均成绩排序,并...
recommend-type

小学生测验C语言课程设计报告

1.通过本课程设计,培养上机动手能力,使学生巩固《C语言程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手能力,闯过编程关; 2.为后续各门计算机课程的学习打下坚实基础; 3.理解程序设计的思路...
recommend-type

C语言实现学生选修课程系统设计

主要为大家详细介绍了C语言实现学生选修课程系统设计,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
recommend-type

C语言输入学生成绩,计算并输出这些学生的最低分、最高分、平均分。

输入学生人数n,再输入n个学生的成绩,将所有成绩累加,再除以n,得到平均分;将第一个学生的成绩赋给最大最小值,用第i个分数与最大值比较,若第i个分数&gt;最大值,将第i个分数赋值给最大值,同理得最小值,最后输出...
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

list根据id查询pid 然后依次获取到所有的子节点数据

可以使用递归的方式来实现根据id查询pid并获取所有子节点数据。具体实现可以参考以下代码: ``` def get_children_nodes(nodes, parent_id): children = [] for node in nodes: if node['pid'] == parent_id: node['children'] = get_children_nodes(nodes, node['id']) children.append(node) return children # 测试数
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。