c语言——结构体数组——学生成绩表

2023-11-14

 例题详解:

1.

在主函数中定义结构体数组,struct student stutable[10];

struct student {
	int stunum;//学号
	char name[20];//姓名
	float examscore;//考试成绩
	float labscore;//实验成绩
	float totalmark;//总评成绩
};

输入如下十个学生的成绩数据,每个学生信息包括 学号 、姓名 、考试成绩 ,实验成绩。同时计算每个学生的总评成绩( =考试成绩*60% + 实验成绩*40%)并保存至每个结构体的totalmark。

71250	张三	95	82
69753	李四	88	86
12254	王五	87	88
61256	张六	73	85
30258	孙七	25	88
11260	柯八	82	76
33262	谢九	91	85
29263	叶十	80	75
22483	陈一	80	76
71525	王二	71	88

2.

在主函数中定义一个结构体指针数组,struct student  *parrray[10] ; 使其每一个指针指向上述结构体数组中的一个元素; 按总评成绩从高到低的顺序,对指针数组parray进行排序,按总评成绩从高到低的顺序输出排序之后的全部学生成绩。


	struct student *parray[10],*t;

int main() {
	int i,j;
	struct student stutable[10],*p;
	struct student *parray[10],*t;
	for(p=stutable,i=0; p<stutable+10,i<10; p++,i++) {
		scanf("%d %s %f %f",&p->stunum,p->name,&p->examscore,&p->labscore);//输入数据
		p->totalmark=p->examscore*0.6+p->labscore*0.4;//计算总评
		parray[i]=p;//指针数组初始化
	}
	//冒泡排序,比较总评,交换指针
	for(i=0; i<9; i++) {
		for(j=0; j<9-i; j++) {
			if(parray[j]->totalmark<parray[j+1]->totalmark) {
				t=parray[j];
				parray[j]=parray[j+1];
				parray[j+1]=t;
			}
		}
	}//排序
	for(i=0; i<10; i++) {
		printf("%d\t%s\t%.2f\t%.2f\t%.2f\n",parray[i]->stunum,parray[i]->name,
		       parray[i]->examscore,parray[i]->labscore,parray[i]->totalmark);
	}//输出信息
}

输入重定向结果:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c语言——结构体数组——学生成绩表 的相关文章

随机推荐

  • Win定时任务更新SVN库

    找到计算机管理 右击任务计划程序库 gt 创建基本任务 填写好名称和描述 NEXT NEXT NEXT 这里选择好svn exe 参数配置成 update D your dictionary NEXT 设置属性 选择触发器 gt 编辑 设置
  • 修改docker容器中文件(配置文件)

    背景 在使用docker搭建hadoop时需要修改docker容器里的文件 不想装ubutu所以在容器里用不了vim命令修改文件 1 查看所有容器名称和基本信息 docker ps 2 查看某个容器信息 docker inspect 容器名
  • 了解数据库的作用、特点及关系型数据库管理系统

    学习目标 能够知道数据库的作用数据库和数据库管理系统的关系 一 数据库 1 数据库的介绍 数据库就是存储和管理数据的仓库 数据按照一定的格式进行存储 用户可以对数据库中的数据进行增加 修改 删除 查询等操作 2 数据库的分类 关系型数据库
  • 干货渗透测试面试题汇总

    干货 渗透测试面试题汇总 以下为信息安全各个方向涉及的面试题 星数越多代表问题出现的几率越大 没有填答案是希望大家如果不懂能自己动手找到答案 祝各位都能找到满意的工作 注 做这个List的目标不是全 因为无论如何都不可能覆盖所有的面试问题
  • c++,父类引用指向子类对象,虚函数

    include
  • 还不错的全民采矿小程序源码+代码已开源

    正文 还不错的全民采矿小程序源码 代码已开源 可配合流量主和激励视频 程序是单开版的 一个站点只能单个平台使用此应用 一个小程序使用此应用 下方图片是小程序工具介绍 下方是程序介绍 程序 lanzou com iRgwE04a5d0d 图片
  • 基于嵌入式Linux/Qt 开发RFID智能仓储指纹管理系统

    基于嵌入式Linux Qt 开发RFID智能仓储指纹管理系统 Qt 是一个用于桌面系统和嵌入式开发的跨平台应用程序框架 它包括一个直观的API和一个丰富的类库 以及用于GUI开发和国际化的集成工具 另外它支持Java 和C 开发 利用它 我
  • AIX下装unzip和gzip

    做个标注 AIX下安装oracle需要解压zip文件 所以需要安装unzip文件包 首先确定aix里有没有rpm rte包 lslpp l grep i rpm rte 如果没有的话需要用aix安装盘安装这个包 我的系统里现在有这个包了 就
  • Deque与Stack实现栈的区别

    使用Deque 允许两头都进 两头都出 这种队列叫双端队列 Double Ended Queue 简称Deque Java集合提供了接口Deque来实现一个双端队列 它的功能 既可以添加到队尾 也可以添加到队首 既可以从队首获取 又可以从队
  • Cloudstack常用端口(Ports used by CloudStack)

    Cloudstack常用端口 Ports used by CloudStack 管理服务器 8080 主界面 授权API端口 8096 用户 客户端连接CS管理端 不可靠的 8787 CloudStack Tomcat debug sock
  • 华为OD机试真题- 基站维修工程师【2023Q1】【JAVA、Python、C++】

    题目描述 小王是一名基站维护工程师 负责某区域的基站维护 某地方有n个基站 1
  • vue中pc端大屏怎么进行rem适配(lib-flexible + postcss-pxtorem)

    使用 插件 lib flexible 和 postcss pxtorem 进行是适配 一共是两个步骤 当我们在进行适配的时候 如果只将当前屏幕分成几份的话 那么在后面写样式的时候 样式的单位需要写成rem 但是这里我们在进行完 postcs
  • 多线程与高并发

    volatile CAS 无锁优化 Unsafe Synchronized volatile CAS Atomic gt CAS LongAdder 使用的分段锁 increment gt Sync Atomic LongAdder Ree
  • ios 微信小程序 chooseImage 相机拍照跳转页面崩溃

    问题描述 功能需求 拍照或选择图片 然后跳转页面裁剪上传头像 一开始使用 chooseImage 本人的小小安卓机和测试的ios手机都是没有问题的 后来同事的 iphone 13 mini 一试拍照跳转页面就崩溃了 一开始一筹莫展还在各处搜
  • angular入门

    架构模式 MVC gt MVP gt MVVM angular cli angular cli angular脚手架 一键构建angular项目 常用指令 ng help 查看所有指令 ng new projectName 创建angula
  • kafka实践(一):Kafka入门经典教程(转贴)

    原blog 地址 http blog csdn net hmsiwtv article details 46960053 问题导读 1 Kafka独特设计在什么地方 2 Kafka如何搭建及创建topic 发送消息 消费消息 3 如何书写K
  • java图书管理系统(IO流)

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 基本结构 一 图书信息管理 1 book类 2 booklist类 1 add 2 query 3 sort 4 change 5 delete 6 write 和
  • 手把手带你做项目2:搜索引擎(附源码)

    Java API 文档搜索引擎 1 项目介绍 1 认识搜索引擎 2 搜索的核心思想 3 项目的目标 2 项目准备 1 需要的资源 2 创建web项目 3 开发步骤 1 创建三个 JavaBean 公共模块 2 预处理 解析本地 html 文
  • Unity中的动画系统

    学习动画系统过程中的一些笔记 概述 Unity 的动画系统基于动画剪辑 Animation Clips 的概念 每个动画剪辑可以被认为是一个单一的线性记录 由动画状态机 Animator Controller 将一个个线性记录组成类似结构化
  • c语言——结构体数组——学生成绩表

    例题详解 1 在主函数中定义结构体数组 struct student stutable 10 struct student int stunum 学号 char name 20 姓名 float examscore 考试成绩 float l