C题目:有10个学生,每个学生的数据包括学号、姓名、3门课的成绩。

有10个学生,每个学生的数据包括学号、姓名、3门课的成绩。从键盘输入10个学生数据,要求输出3门课成绩和平均成绩,以及平均成绩最高分的学生的数据(包括学号、姓名、3门课的成绩、平均分数)。
要求:
(1)定义一个结构体类型Student,描述学生的信息。
(2)定义一个void input(struct Student *p,int n)函数,输入n个学生的数据,存放到结构体指针变量p所指向的结构体数组中,n表示学生人数。
(3)定义一个float average(struct Student *p,int n)函数,求总平均分,返回该总平均分。其中,p指向有n个学生数据的结构体数组,n表示学生人数。
(4)定义一个void  max(struct Student *p,int n)函数,在指针变量p指向的结构体数组中找出平均成绩最高分的学生数据,并输出该学生的各项数据,n表示学生人数。
(5)定义一个void  print(struct Student *p,int n)函数,输出指针变量p指向的结构体数组的全部数组元素的各项成员的值,n表示学生人数。
(6)定义main()函数,定义结构体数组stud[10],分别调用input函数、average函数、print函数、max函数。
代码:
#include <stdio.h>
struct Student {char num[10];char name[20];float score[3];float average;
};void input(struct Student *p, int n) {int i, j;for (i = 0; i < n; i++) {printf("\n输入学生%d的数据:\n", i + 1);printf("学号(最多9个字符):");scanf("%s", p->num);printf("姓名(最多19个字符):");scanf("%s", p->name);for (j = 0; j < 3; j++) {printf("成绩%d:", j + 1);scanf("%f", &(p->score[j]));}// 计算该学生的平均成绩p->average = 0;for (j = 0; j < 3; j++) {p->average += p->score[j];}p->average /= 3;p++;}
}float average(struct Student *p, int n) {float sum = 0;int i;for (i = 0; i < n; i++) {sum += p->average;p++;}return sum / n;
}void max(struct Student *p, int n) {struct Student *p1;int i, maxi = 0;float max_avg = p->average;for (i = 1; i < n; i++) {p++;if (p->average > max_avg) {max_avg = p->average;maxi = i;}}p1 = p - n + maxi;printf("\n平均成绩最高分的学生:\n");printf("学号:%s\n", p1->num);printf("姓名:%s\n", p1->name);for (i = 0; i < 3; i++) {printf("成绩%d:%6.2f\n", i + 1, p1->score[i]);}printf("平均成绩:%6.2f\n", p1->average);
}void print(struct Student *p, int n) {int i, j;printf("\n学号\t姓名\t成绩1\t成绩2\t成绩3\t平均成绩\n");for (i = 0; i < n; i++) {printf("%s\t%s\t", p->num, p->name);for (j = 0; j < 3; j++) {printf("%6.2f\t", p->score[j]);}printf("%6.2f\n", p->average);p++;}
}int main() {struct Student stud[10];input(stud, 10);print(stud, 10);printf("总平均分:%6.2f\n", average(stud, 10));max(stud, 10);return 0;
}
结果:输入学生1的数据:
学号(最多9个字符):01
姓名(最多19个字符):a1
成绩1:77
成绩2:65
成绩3:15输入学生2的数据:
学号(最多9个字符):02
姓名(最多19个字符):a2
成绩1:86
成绩2:48
成绩3:35输入学生3的数据:
学号(最多9个字符):03
姓名(最多19个字符):a3
成绩1:87
成绩2:94
成绩3:75输入学生4的数据:
学号(最多9个字符):04
姓名(最多19个字符):a4
成绩1:68
成绩2:95
成绩3:73输入学生5的数据:
学号(最多9个字符):05
姓名(最多19个字符):a5
成绩1:63
成绩2:52
成绩3:41输入学生6的数据:
学号(最多9个字符):06
姓名(最多19个字符):a6
成绩1:46
成绩2:13
成绩3:79输入学生7的数据:
学号(最多9个字符):07
姓名(最多19个字符):a7
成绩1:78
成绩2:91
成绩3:37输入学生8的数据:
学号(最多9个字符):08
姓名(最多19个字符):a8
成绩1:87
成绩2:96
成绩3:18输入学生9的数据:
学号(最多9个字符):09
姓名(最多19个字符):a9
成绩1:98
成绩2:39
成绩3:76输入学生10的数据:
学号(最多9个字符):10
姓名(最多19个字符):a10
成绩1:55
成绩2:66
成绩3:44学号    姓名    成绩1   成绩2   成绩3   平均成绩
01      a1       77.00   65.00   15.00   52.33
02      a2       86.00   48.00   35.00   56.33
03      a3       87.00   94.00   75.00   85.33
04      a4       68.00   95.00   73.00   78.67
05      a5       63.00   52.00   41.00   52.00
06      a6       46.00   13.00   79.00   46.00
07      a7       78.00   91.00   37.00   68.67
08      a8       87.00   96.00   18.00   67.00
09      a9       98.00   39.00   76.00   71.00
10      a10      55.00   66.00   44.00   55.00
总平均分: 63.23平均成绩最高分的学生:
学号:02
姓名:a2
成绩1: 86.00
成绩2: 48.00
成绩3: 35.00
平均成绩: 56.33Process returned 0 (0x0)   execution time : 73.527 s
Press any key to continue.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/837540.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

blktrace分析IO

前言 上篇博客介绍了iostat的一些输出,这篇介绍blktrace这个神器。上一节介绍iostat的时候,我们心心念念希望得到块设备处理io的service time,而不是service time + wait time,因为对于评估一个磁盘或者云磁盘而言,service time才是衡量磁盘性能的核心指标和直接指标。很不…

数据库 校验名称唯一性,用于新增和修改功能

数据库 校验名称唯一性,用于新增和修改功能@目录概述代码 概述应用场景:xml,注解方式的自己略微改造即可使用。 提示:存粹方便自己拷贝代码,用于新增和修改前校验名称唯一性问题。代码Service/*** 校验名称是否重名* @Author 211145187* @Date 2022/5/5 15:37* @param nam…

人工智能之机器学习最优化基础——凸优化

凸优化(Convex Optimization) 是优化问题的一个重要分支,其目标是最小化或最大化一个凸函数(或凹函数),通常受限于一组凸约束条件。由于凸优化问题具有良好的数学性质,许多优化问题可以转化为凸优化问题并高效求解。1. 什么是凸优化问题? 一个标准的凸优化问题可以表示…

可信执行环境(TEE)学习笔记

可信执行环境(TEE)学习笔记来越多的数据在云环境下进行存储、共享和计算,云环境下的数据安全与隐私保护也逐渐成为学术界以及工业界关注的热点问题。目前阶段,隐私保护技术主要基于密码算法及协议(如安全多方计算、同态加密等)完成场景落地,其优点主要在于具有较高的安全…

同步与互斥与通信

同步与互斥 同步:两任务要协调 互斥:两任务要争用 举一个例子。在团队活动里,同事A先写完报表,经理B才能拿去向领导汇报。经理B必须等同事A完成报表,AB之间有依赖,B必须放慢脚步,被称为同步。在团队活动中,同事A已经使用会议室了,经理B也想使用,即使经理B是领导,他也…

Windows 自动色彩管理(ACM)

在一些笔记本上Win11可以看到设置里有“自动管理应用的颜色”选项,有些笔记上没有。这里讲下“自动管理应用的颜色”的显示规则 看华为MetaBook E设置界面显示:“自动管理应用的颜色”与“颜色自适应”是一个功能? 不是,颜色自适应是要依赖环境颜色传感器来实现的,有环境颜…

闲话 11.20

杂题乱写 11.2010 days left. 不说闲话,捡重点说。P4113 [HEOI2012] 采花 hh 的项链加强版。 首先考虑莫队,轻松写,轻松 133pts,轻松过不了后两个 hack,考虑优化。 既然是加强版,那么就考虑沿用之前的思路。记录上次出现某个数的位置和上上次出现某个数的位置,离线之后将…

CTFshow渗透知识点

1.robot.txtRobots是一个协议,全称为“网络爬虫协议”,也称爬虫协议、机器人协议等。网站通过Robots协议告诉搜索引擎哪些页面可以访问,哪些不可以访问。 使用方法: 在浏览器的网址搜索框中,输入根域名,再输入/robots.txt即可 博客:Robots.txt在渗透测试中的利用_robots.…

Goby 漏洞发布|超高危!Palo-alto-panos createRemoteAppwebSession.php 命令执行漏洞CVE-2024-0012 CVE-2024-947

漏洞名称:Palo-alto-panos createRemoteAppwebSession.php 命令执行漏洞CVE-2024-0012 CVE-2024-947 English Name:Palo-alto-panos /php/utils/createRemoteAppwebSession.php Command Execution Vulnerability CVE-2024-0012 CVE-2024-9474 CVSS core: 9.5 漏洞描述: Palo…

一个.NET开源、快速、功能丰富的跨平台阅读服务器

前言 今天大姚给大家分享一个基于.NET开源的快速、功能丰富的跨平台阅读服务器,它的设计初衷是提供一个全面的解决方案,满足用户的所有阅读需求。用户可以设置自己的服务器,并与朋友和家人分享阅读收藏:Kavita。 支持格式书籍:epub, pdf。 漫画/网络漫画/漫画书:cbr, cbz…

人工智能之机器学习线代基础——矩阵分类

1. 按维度和大小方阵(Square Matrix):行数和列数相等的矩阵。列矩阵(Column Matrix):只有一列的矩阵。行矩阵(Row Matrix):只有一行的矩阵。零矩阵(Zero Matrix):所有元素均为 0。单位矩阵(Identity Matrix):对角线为 1,其他元素为 0 的方阵。对角矩阵(Diagon…

Linux 命令之 tar

目录1 tar 命令介绍2 压缩与解压缩2.1 压缩2.2 解压4 高级用法4.1 排除目录4.2 显示进度4.2.1 脚本解压缩4.2.2 命令解压缩4.2.3 压缩进度 1 tar 命令介绍常见的压缩包有 .tar.gz、.tar.xz、.tar.bz2,以及 .rar、.zip、.7z 等压缩包。常见的 tar 选项:- 1. 文件操作选项:-c,…