第十一周课后练习题(一)

2024-01-19 15:48
文章标签 第十一 课后练习

本文主要是介绍第十一周课后练习题(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

实现一个成绩管理程序:

  • 直接先上代码

PPT里面说给学号、姓名占用的内存要求动态分配,既然如此不如直接给所有的结构体都动态分配

当然在看之前希望你们先看下我上一篇的代码不然typedef不太好理解,当然也可以不用typedef,毕竟这只是简化输出

可以看一下我上一篇博客哦https://blog.csdn.net/solitudi/article/details/103249389


#include<stdio.h>
#include<stdlib.h>typedef struct student
{char name[10]; char xuehao[10];double yuwen;double math;double english;double sum;double average;}cj;
int n;
double y_average,m_average,e_average;void s_average(cj s[]);
void sum(cj s[]);
void meike_average(cj s[]);
void paixu(cj s[]);
void paixu(cj s[]);
int main()
{cj *s=(cj *)malloc(sizeof(cj)*10);int i,j;printf("请输入学生人数:");scanf("%d",&n);for(i=0;i<n;i++){printf("请输入%d个学生的信息---姓名---学号---语文成绩---数学成绩---英语成绩\n",i+1);scanf("%s%s%lf%lf%lf",&s[i].name,&s[i].xuehao,&s[i].yuwen,&s[i].math,&s[i].english);} sum(s);s_average(s);meike_average(s);puts("");for(i=0;i<n;i++){printf("学生%s的总分为%.f\t各科平均分为%.2f\n",s[i].name,s[i].sum,s[i].average);}printf("\n");printf("各科平均分\n");printf("  \t平均分\n语 文\t  %.2f\n数 学\t  %.2f\n英 语\t  %.2f\n",y_average,m_average,e_average);paixu(s);puts("");printf("姓名\t学号\t语文\t英语\t数学\t总分\t平均分\t名次\n");for(i=0;i<n;i++){printf("%s\t%s\t%.f\t%.f\t%.f\t%.f\t%.f\t%d\n",s[i].name,s[i].xuehao,s[i].yuwen,s[i].english,s[i].math,s[i].sum,s[i].average,i+1);}free(s);s = NULL;
}void sum(cj s[])
{int i;for(i=0;i<n;i++){s[i].sum=s[i].math+s[i].english+s[i].yuwen;}
}void s_average(cj s[])
{int i;for(i=0;i<n;i++){s[i].average=(s[i].math+s[i].english+s[i].yuwen)/3;}}void meike_average(cj s[]) 
{int i;double sum1=0,sum2=0,sum3=0;for(i=0;i<n;i++){sum1+=s[i].yuwen;sum2+=s[i].math;sum3+=s[i].english;} y_average=sum1/n;m_average=sum2/n;e_average=sum3/n;
}void paixu(cj s[])
{int i,j,t,flag;struct student temp;for (i = 0; i < n-1; i++)       //轮次,共NUM-1次{flag = 0;for (j = 0; j < n - i-1; j++)  //实现一次冒泡操作if (s[j].sum < s[j+1].sum)                  //交换a[j]和a[j+1]{   temp = s[j];   s[j] = s[j+1];  s[j+1] = temp;  flag = 1;  }if (flag == 0)  break;}
}

文章福利:
1.C
2.D
3.A
4.A
5.D
6.C
7.A
8.D
9.A
10.C
11.D
12.A
13.C
14.C
15.D 00001000 00000000
11000101 11110000
16.A
17.A
18.A
19.C
20.A

这篇关于第十一周课后练习题(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/622910

相关文章

【网络安全】服务基础第一阶段——第十一节:Windows系统管理基础----PKI技术与应用

目录​​​​​​​ 一、加密技术 1.1 基本保密通信模型 1.2 密码学发展 1.2.1 古典密码学(1949年前) 1.2.2 近代密码学(1949~1975年) 1.2.3 现代密码学(1976年以后) 1.3 古典密码 1.3.1 古典密码学的特点: 1.3.2 古典密码学的主要分类 1.4 近代密码学 1.5 现代密码学 1.5.1 非对称密钥密码学的基本概念

51单片机-第十一节-DS18B20温度传感器(One_Wire单总线)

一、DS18B20温度传感器介绍: DS18B20是一种数字温度传感器。 测温范围:-55C - +125C 通信接口:1-Wire(单总线) 二、引脚及应用电路: 很简单,电源,接地,通讯接口。        三、内部结构: 总图: (1)备用电源 (2)器件地址 (3)控制器 (4)存储器 (5)存储器内部: B1,B2存储最低有效温度和最高有效温度。

Django 第十一课 -- ORM - 多表实例

目录 一. 前言 二. 创建模型 三. 插入数据 四. ORM - 添加数据 4.1. 一对多(外键 ForeignKey) 4.2. 多对多(ManyToManyField):在第三张关系表中新增数据 4.3. 关联管理器(对象调用) 五. ORM 查询 5.1. 一对多 5.2. 一对一 5.3. 多对多 六. 基于双下划线的跨表查询 6.1. 一对多 6.2. 多

书生大模型实战营闯关记录----第十一关:LMDeploy 量化部署进阶实践 KV cache量化部署,W4A16 模型量化和部署

文章目录 1 配置LMDeploy环境1.1 环境搭建1.2 InternStudio环境获取模型1.3 LMDeploy验证启动模型文件 2 LMDeploy与InternLM2.5 2.1 LMDeploy API部署InternLM2.52.1.1 启动API服务器 2.1.2 以命令行形式连接API服务器 2.1.3 以Gradio**网页形式连接API服务器** 2.2 LMDe

第十一题(求二叉树中节点的最大距离)

第11 题 求二叉树中节点的最大距离... 如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的, 我们姑且定义"距离"为两节点之间边的个数。 写一个程序, 求一棵二叉树中相距最远的两个节点之间的距离。 分析: 采用递归求解 对于一个根节点,取 左子树最大深度+右子树最大深度,左子树最大距离,右子树最大距离这三种情况的最大值,最大值就是所要求的节点的最大距离。 结束条件为:对

three.js 第十一节 - uv坐标

// @ts-nocheck// 引入three.jsimport * as THREE from 'three'// 导入轨道控制器import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls'// 导入lil.guiimport { GUI } from 'three/examples/jsm/l

[leetcode hot 150]第十一题,盛水最多的容器

题目: 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。 初始化分别位于高度数组开始和结束处的左右两个指针。计算指针当前位置的两行之间的面积。如果当前面积较大,更新最大面积。将

Linux大数据开发基础:第十一节:Shell编程入门(三)

http://blog.csdn.net/lovehuangjiaju/article/details/48913911 本节主要内容 shell数组shell命令别名时间操作 1. Shell数组 同C、C++等语言一样,shell脚本也提供了数组这样一个重要的数据结构,shell中的数组有两种,一种为普通数组,另外的一种称为关联数组。普通数据的存取通过整数进行,关联

面试计算机网络八股文十问十答第十一期

面试计算机网络八股文十问十答第十一期 作者:程序员小白条,个人博客 相信看了本文后,对你的面试是有一定帮助的!关注专栏后就能收到持续更新! ⭐点赞⭐收藏⭐不迷路!⭐ 1)JWT Token 听过吗? JWT(JSON Web Token)是一种开放标准(RFC 7519),定义了一种紧凑且独立的方式,用于在各方之间作为 JSON 对象安全地传输信息。它由三部分组成:头部(Heade

Flutter第十一弹:Scaffold(脚手架)

目标: 1.什么是脚手架? 2.脚手架什么时候使用? 一、Scaffold属性 Scaffold通常配合MaterialApp使用。 1.1 MaterialApp是什么? MaterialApp是Flutter中的一个重要小部件,它作为应用程序的根部小部件,并提供了一些基本的配置和功能。 1.1 Scaffold常用属性 appBar:顶部APPBarbody: 主体部分