#include "stdio.h" struct student { int num; /*学号*/ char name[30]; /*姓名*/ int math,english,computer; /*3门课成绩*/ int total; }; int main() { struct student stu,max; int i; for(i=0;i<3;i++) { scanf("%d %s %d %d %d",&stu.num,stu.name,&stu.math,&stu.english,&stu.computer); ________________________________; printf("%d %s %d %d %d %d\n",stu.num,stu.name,stu.math,stu.english,stu.computer,stu.total); if(i==0) { max=stu; } else { if(_____________________) { ____________________; } } } printf("%d %s %d %d %d %d",max.num,max.name,max.math,max.english,max.computer,max.total); return 0; }

时间: 2024-02-14 20:12:14 浏览: 19
这段代码中有两处需要填空: 第一处需要计算每个学生的总分,可以在输入数据后添加如下代码: ```c stu.total = stu.math + stu.english + stu.computer; ``` 第二处需要比较每个学生的总分,找出最高分的学生,可以在if语句中添加如下代码: ```c if(stu.total > max.total) { max = stu; } ``` 修改后的完整代码如下: ```c #include "stdio.h" struct student { int num; /*学号*/ char name[30]; /*姓名*/ int math, english, computer; /*3门课成绩*/ int total; }; int main() { struct student stu, max; int i; for(i = 0; i < 3; i++) { scanf("%d %s %d %d %d", &stu.num, stu.name, &stu.math, &stu.english, &stu.computer); stu.total = stu.math + stu.english + stu.computer; printf("%d %s %d %d %d %d\n", stu.num, stu.name, stu.math, stu.english, stu.computer, stu.total); if(i == 0) { max = stu; } else { if(stu.total > max.total) { max = stu; } } } printf("%d %s %d %d %d %d", max.num, max.name, max.math, max.english, max.computer, max.total); return 0; } ```

相关推荐

例题9-3 修改学生成绩 分数 15 作者 张泳 单位 浙大城市学院 输入n(n<50)个学生的成绩信息,再输入一个学生的学号、课程以及成绩,在自定义函数update_score()中修改该学生指定课程的成绩。 函数接口定义: int update_score(struct student *p, int n, int num, int course, int score); 其中p是结构指针,n是学生个数,course是课程序号,score是修改后的课程成绩。函数须返回指定学生的顺序位置,如果查无此人,返回-1。 裁判测试程序样例: #include <stdio.h> struct student{ /*学生信息结构定义*/ int num; /* 学号 */ char name[10]; /* 姓名 */ int math, english, computer; /* 三门课程成绩 */ }; int update_score(struct student *p, int n, int num, int course, int score); /*函数声明*/ int main(void) { int i, pos, n, num, course, score; struct student students[50]; /* 定义结构数组 */ scanf("%d", &n); for(i = 0; i < n; i++){ scanf("%d", &students[i].num); scanf("%s", students[i].name); scanf("%d", &students[i].math); scanf("%d", &students[i].english); scanf("%d", &students[i].computer); } /* 输入待修改学生信息 */ scanf("%d", &num); scanf("%d", &course); scanf("%d", &score); /*调用函数,修改学生成绩*/ pos = update_score(students, n, num, course, score); /*输出修改后的学生信息*/ if(pos == -1) printf("Not found!\n"); else { printf("%d,%d,%d,%d\n", students[pos].num, students[pos].math, students[pos].english, students[pos].computer); } return 0; } /* 请在这里填写答案 */ 输入样例: 3 101 Zhang 78 87 85 102 Wang 91 88 90 103 Li 75 90 84 102 2 89 输出样例: 在这里给出相应的输出。例如: 102,91,89,90

#include<stdio.h> #include<string.h> struct student { int class_num, id, t, j; double e_score, math, c_score, pinjun; char name[20]; }a[1000]; void input(struct student a[10]) { int i; for (i = 0; i <= 3; i++) { printf("请输入班号"); scanf_s("%d", &a[i].class_num); printf("请输入学号"); scanf_s("%d", &a[i].id); printf("请输入名字"); scanf_s("%c", a[i].name); printf("请输入英语成绩"); scanf_s("%lf", &a[i].e_score); printf("请输入c语言成绩"); scanf_s("%lf", &a[i].c_score); printf("请输入数学成绩"); scanf_s("%lf", &a[i].math); } } void jisuan(struct student a[]) { int i; for (i = 0; i <= 3; i++) { a[i].pinjun = (a[i].e_score + a[i].c_score + a[i].math) / 3; printf("%lf\n", a[i].pinjun); } } void paixv(struct student a[])//对英语程序进行排序 { for (int i = 0; i < 3; i++) { for (int j = i + 1; j < 4; j++) { if (a[j].pinjun > a[i].pinjun) { double t = a[j].pinjun; a[j].pinjun = a[i].pinjun; a[i].pinjun = t; } } } for (int i = 0; i < 4; i++) printf("平均分从高到低排序:%s:%f\n", a[i].name, a[i].pinjun); printf("\n"); return; } int main(void) { struct student a[10]; struct qiuzhi; struct paixv; int i; printf("***********************************************************\n"); printf("* 欢迎使用学生成绩管理系统 *\n"); printf("***********************************************************\n"); printf("* 1.输入所有学生信息 2.计算个人平均成绩 *\n"); printf("* 3.按课程成绩排序 4.计算课程平均成绩 *\n"); printf("* 5.按学号查询个人信息 6.退出 *\n"); printf("***********************************************************\n"); printf("\n"); printf("请选择要执行的功能1~6:"); scanf_s("%d", &i); while (i != 0) { switch (i) { case 1: input(a); break; case 2: jisuan(a); break; case 3: paixv(a); break; case 4: //4.0 break; case 5://补一个利用于查询个人信息的函数 printf("输入要查找的学号:"); printf("5"); //scanf("%d",&j); //search(); break; case 6://退出程序 break; default:printf("error!\n"); break; } scanf_s("%d", &i); }return 0; }

最新推荐

recommend-type

JavaScript_catvod的开放版本.zip

JavaScript
recommend-type

node-v10.4.1-headers.tar.gz

Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
recommend-type

node-v13.8.0-headers.tar.xz

Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
recommend-type

node-v14.1.0-headers.tar.xz

Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
recommend-type

batik-svggen-1.7.jar

Batik是为想使用svg格式图片来实现各种功能的应用程序和Applet提供的一个基于java的工具包
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

可见光定位LED及其供电硬件具体型号,广角镜头和探测器,实验设计具体流程步骤,

1. 可见光定位LED型号:一般可使用5mm或3mm的普通白色LED,也可以选择专门用于定位的LED,例如OSRAM公司的SFH 4715AS或Vishay公司的VLMU3500-385-120。 2. 供电硬件型号:可以使用常见的直流电源供电,也可以选择专门的LED驱动器,例如Meanwell公司的ELG-75-C或ELG-150-C系列。 3. 广角镜头和探测器型号:一般可采用广角透镜和CMOS摄像头或光电二极管探测器,例如Omron公司的B5W-LA或Murata公司的IRS-B210ST01。 4. 实验设计流程步骤: 1)确定实验目的和研究对象,例如车辆或机器人的定位和导航。
recommend-type

JSBSim Reference Manual

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