#include<stdio.h>
struct student{    //定义一个结构体数组
int num;
char name[11];
float g1;
float g2;
float g3;
float aver;
};
int main(){
student stu[101],s;//student为结构体类型,stu为名字,此处定义一个结构体数组
int N,i,j;
scanf("%d\n",&N);
for(i=0;i<N;i++){
scanf("%d %s %f %f %f",&stu[i].num,&stu[i].name,&stu[i].g1,&stu[i].g2,&stu[i].g3);//结构体内容的输入stu[].什么元素(注意对应的变量类型(字符串为%s))
stu[i].aver=(stu[i].g1+stu[i].g2+stu[i].g3)/3;
}
for(i=0;i<N-1;i++){
for(j=i+1;j<N;j++){
if(stu[i].aver<=stu[j].aver) {
s=stu[i];stu[i]=stu[j];stu[j]=s;
}
if(stu[i].aver==stu[j].aver){ //如果平均成绩一样,按照学号从小到大排
if(stu[i].num>stu[j].num){
s=stu[i];stu[i]=stu[j];stu[j]=s;
}
}
}
}
for(i=0;i<N;i++){
printf("%d %s %.1f\n",stu[i].num,stu[i].name,stu[i].aver);//结构体对应内容的输出
}
return 0;
}

  

西电oj245 成绩统计 结构体数组使用的更多相关文章

  1. C语言利用结构体数组实现学生成绩管理系统

    这篇文章主要为大家详细介绍了C语言利用结构体数组实现学生成绩管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 要求: 某班有最多不超过30人(具体人数由键盘输入) ...

  2. C语言之:结构体动态分配内存(利用结构体数组保存不超过10个学生的信息,每个学生的信息包括:学号、姓名和三门课(高数、物理和英语 )的成绩和平均分(整型)。)

    题目内容: 利用结构体数组保存不超过10个学生的信息,每个学生的信息包括:学号.姓名和三门课(高数.物理和英语 )的成绩和平均分(整型). 编写程序,从键盘输入学生的人数,然后依次输入每个学生的学号. ...

  3. 【C语言入门教程】7.2 结构体数组的定义和引用

    7.2 结构体数组的定义和引用 当需要使用大量的结构体变量时,可使用结构体定义数组,该数组包含与结构体相同的数据结构所组成的连续存储空间.如下例所示: struct student stu_a[50] ...

  4. 结构体数组(C++)

    1.定义结构体数组 和定义结构体变量类似,定义结构体数组时只需声明其为数组即可.如: struct Student{ int num; char name[20]; char sex[5]; int ...

  5. matlab学习笔记12_2创建结构体数组,访问标量结构体,访问非标量结构体数组的属性,访问嵌套结构体中的数据,访问非标量结构体数组中多个元素的字段

    一起来学matlab-matlab学习笔记12 12_2 结构体 创建结构体数组,访问标量结构体,访问非标量结构体数组的属性,访问嵌套结构体中的数据,访问非标量结构体数组中多个元素的字段 觉得有用的话 ...

  6. golang结构体数组

    转自: https://www.liaotaoo.cn/200.html package main import "fmt" type student struct{ id int ...

  7. C#调用C/C++动态库 封送结构体,结构体数组

    一. 结构体的传递 #define JNAAPI extern "C" __declspec(dllexport) // C方式导出函数 typedef struct { int ...

  8. Delphi结构体数组指针的问题

    //这段代码在Delphi 2007和delphi 7下是可以执行的,所以正确使用结构体数组和指针应该是这样的,已验证 unit Unit1; interface uses Windows, Mess ...

  9. C语言中的结构体,结构体数组

    C语言中的结构体是一个小难点,下面我们详细来讲一下:至于什么是结构体,结构体为什么会产生,我就不说了,原因很简单,但是要注意到是结构体也是连续存储的,但要注意的是结构体里面类型各异,所以必然会产生内存 ...

  10. c语言学习之基础知识点介绍(十七):写入读取结构体、数组、结构体数组

    一.结构体的写入和读取 //写入结构体 FILE *fp = fopen("/Users/ios/Desktop/1.data", "w"); if (fp) ...

随机推荐

  1. json转化 ts定义网页工具

    json转化 ts定义 https://transform.tools/json-to-typescript

  2. Python获取当前在线设备ip和mac地址

    获取局域网所在的网段 with os.popen("ipconfig /all") as res: for line in res: line = line.strip() if ...

  3. Oracle数据泵恢复用户数据实例

    我们测试环境经常会遇到恢复生产数据的情况,我一般比较习惯使用数据泵来搞,这个具体根据自己的业务形态选择适合自己的方式. 此次我们说的是完全恢复用户数据,具体步骤如下: 1.备份数据 expdp tes ...

  4. Windows 操作

    一.基础命令 1. 盘符切换:D:: 2. 查看当前目录文件:dir: 3. 当前盘符内目录切换:cd path: 二.其他命令 1. netstat:查看网络端口状态 A. 查看某一端口信息:net ...

  5. UE4.27 新版本像素流送插件配置

    UE4.27 像素流送新版插件部署命令 以下内容参考自UE5官方文档:https://docs.unrealengine.com/5.0/en-US/unreal-engine-pixel-strea ...

  6. nginx 配置react项目 并且开启gzip压缩

    #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #erro ...

  7. VMware 15pro虚拟机网络设置

    在关闭虚拟机的情况下:VM 15pro. 编辑->虚拟网络编辑器:

  8. WEB攻击与防御技术 pikachu——XSS攻击加CSRF

    一.反射性xss(get) 登录pikachu选择xss模块,第一题,写了一下,发现输入长度不够,很简单,在前端改一下长度就可以使用了,这题就不做过多解释 或者直接在URL中进行写入,也是肥肠滴方便 ...

  9. flume 拦截器

    目的:功能1:判断json文件,如何格式合格则正常传输,否则就不传输 功能2:判断出合格的json文件,并且key值中包含"date"才进行传输 一.创建一个Json的工具类 pa ...

  10. vxe-table 合并单元格

    <vxe-table @cell-click="handleClickCell" :span-method="spanMethods" //自动合并单元格 ...