假设学生的基本信息包括学号、姓名、三门课程成绩以及个人平均成绩,定义一个能够表示学生信息的结构类型。输入n(n<50)个学生的成绩信息,按照学生的个人平均分从高到低输出他们的信息。如果平均分相同,按输入的先后顺序排列。

输入格式:
输入一个正整数n(n<50),下面n行输入n个学生的信息,包括:学号、姓名、三门课程成绩(整数)。

输出格式:
输出从高到低排序后的学生信息,包括:学号、姓名、平均分(保留两位小数)。

输入样例:
3
101 Zhang 78 87 85
102 Wang 91 88 90
103 Li 75 90 84
输出样例:
102,Wang,89.67
101,Zhang,83.33
103,Li,83.00

emmm.这么简单今天10几分钟就写完,期末考的时候我好像看都没看一眼~~,还是太年轻了(●'◡'●)

#include <stdio.h>

struct student
{
int number ;
char name[10] ;
int math ;
int english ;
int chinse ;
double average ;
} ;
int main()
{
int num ;
int i,j ;
struct student temp;
struct student st_arr[10];
scanf("%d",&num);
for(i=0;i<num;i++)
{
scanf("%d %s %d %d %d",&st_arr[i].number,&st_arr[i].name,&st_arr[i].math,&st_arr[i].english,&st_arr[i].chinse);
st_arr[i].average=(st_arr[i].math+st_arr[i].english+st_arr[i].chinse)*1.0/3 ;
}

for(i=0;i<num-1;i++)
{
for(j=0;j<num-1-i;j++)
{
if(st_arr[j].average<st_arr[j+1].average)
{
temp=st_arr[j];
st_arr[j]=st_arr[j+1];
st_arr[j+1]=temp;
}
}
}

for(i=0;i<num;i++)
{
printf("%d %s %.2lf\n",st_arr[i].number,st_arr[i].name,st_arr[i].average);
}

}

(C语言)学生成绩排序-期末考倒数第二题结构体数组排序的更多相关文章

  1. 《C语言 学生成绩管理系统》

    /* (盯着先拔头筹程序) * 该计划的版权声明和版本号 * Copyright (c) 2011, 烟台大学计算机学院学生的学校 * All rights reserved. * 文件名: 学生成绩 ...

  2. c语言-学生成绩信息系统

    #include<stdio.h> #define N 100 int Count=0; struct stu { int num; char name[20]; int computer ...

  3. C语言学生成绩管理系统(简易版)

    #include<stdio.h> #include<stdlib.h> #include<string.h> int readstudents(struct st ...

  4. 结构体数组排序:1004 成绩排名 【pta】

    结构体模板 struct STU { string name; //用string可以代替char string num; int s; }; sort是用快速排序实现的,属于不稳定排序,stable ...

  5. Go语言基础之8--面向对象编程1之结构体(struct)

    一.结构体详解 1.1 声明和定义 1.Go中面向对象是通过struct来实现的, struct是用户自定义的类型 2.Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数 ...

  6. C语言函数不能返回数组,但可以返回结构体

    为什么C语言函数可以返回结构体,却不可以返回数组?有这样的问题并不奇怪,因为C语言数组和结构体本质上都是管理一块内存,那为何编译器要区别对待二者呢? C语言函数为什么不能返回数组? 在C语言程序开发中 ...

  7. C语言数组成绩排序

    #include<stdio.h> #define N 10 int main() { int s,i,j,tmp; int a[10]={78,56,38,99,81,86,39,100 ...

  8. [易学易懂系列|rustlang语言|零基础|快速入门|(11)|Structs结构体]

    [易学易懂系列|rustlang语言|零基础|快速入门|(11)] 有意思的基础知识 Structs 我们今天来看看数据结构:structs. 简单来说,structs,就是用来封装相关数据的一种数据 ...

  9. MT【57】2017联赛一试解答倒数第二题:一道不等式的最值

    注:康拓诺维奇不等式的应用

随机推荐

  1. php 搭建webSocket

    <?php //2.设计一个循环挂起WebSocket通道,进行数据的接收.处理和发送 //对创建的socket循环进行监听,处理数据 function run(){ //死循环,直到socke ...

  2. 20200116--python学习第十天

    今日内容 1.参数 2.作用域 3.函数嵌套 内容回顾 线上操作系统:centos py2和py3的区别? 每种数据类型,列举你了解的方法. 3 or 9 and 8 字符串的反转 is 和 == 的 ...

  3. python 处理10000个txt,每个文件夹里面放1000个。

    fileNumberInDiretory = 1000 title_list = getChongFuTitle(cursor) DiretoryNums = math.ceil(len(title_ ...

  4. CentOS7及Docker配置中文字符集问题

    说明 Linux系统默认使用英文字符集,不会安装中文字符集等其他字符. 查看当前字符集 $ 安装字符集 使用locale命令看看当前系统所使用的字符集 $ locale LANG=en_US.UTF- ...

  5. 安装python3.7

    首先安装依赖包,centos里面是-devel,如果在ubuntu下安装则要改成-dev,依赖包缺一不可,一步一步复制到终端执行就可以! sudo yum -y groupinstall " ...

  6. NIO学习笔记,从Linux IO演化模型到Netty—— 究竟如何理解同步、异步、阻塞、非阻塞

    我的观点 首先,分开各自理解. 1. 同步:描述两个(或者多个)个体之间的协调关系. 比如,单线程中,methodA调用了methodB,methodB返回后,methodA才往下执行,那么称A同步调 ...

  7. mysql简单备份与恢复

    1.备份 mysqldump -u root -h 127.0.0.1 -p --set-gtid-purged=OFF  abc > /data/mysqlBak/abc_20200206.s ...

  8. Linux上安装软件

    Linux发行版的两大系列 debian:代表的比如Ubuntu,软件包管理工具apt.apt-get.dpkg,软件包名.deb redhat:代表的比如CentOS(所以在VMware上安装Cen ...

  9. 《C++Primer》第五版习题答案--第五章【学习笔记】

    <C++Primer>第五版习题答案--第五章[学习笔记] ps:答案是个人在学习过程中书写,可能存在错漏之处,仅作参考. 作者:cosefy Date: 2020/1/15 第五章:语句 ...

  10. 有关鼠标在页面body获取点击事件的问题

    首先说到这个问题我们先来谈谈body的高度问题,关于body高度的设置. 有些小伙伴可能就会说这个是多么的简单,直接进行如下操作不就可以了 body{ height:100%; } 这个设置虽然是想法 ...