(C语言)学生成绩排序-期末考倒数第二题结构体数组排序
假设学生的基本信息包括学号、姓名、三门课程成绩以及个人平均成绩,定义一个能够表示学生信息的结构类型。输入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语言)学生成绩排序-期末考倒数第二题结构体数组排序的更多相关文章
- 《C语言 学生成绩管理系统》
		
/* (盯着先拔头筹程序) * 该计划的版权声明和版本号 * Copyright (c) 2011, 烟台大学计算机学院学生的学校 * All rights reserved. * 文件名: 学生成绩 ...
 - c语言-学生成绩信息系统
		
#include<stdio.h> #define N 100 int Count=0; struct stu { int num; char name[20]; int computer ...
 - C语言学生成绩管理系统(简易版)
		
#include<stdio.h> #include<stdlib.h> #include<string.h> int readstudents(struct st ...
 - 结构体数组排序:1004 成绩排名 【pta】
		
结构体模板 struct STU { string name; //用string可以代替char string num; int s; }; sort是用快速排序实现的,属于不稳定排序,stable ...
 - Go语言基础之8--面向对象编程1之结构体(struct)
		
一.结构体详解 1.1 声明和定义 1.Go中面向对象是通过struct来实现的, struct是用户自定义的类型 2.Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数 ...
 - C语言函数不能返回数组,但可以返回结构体
		
为什么C语言函数可以返回结构体,却不可以返回数组?有这样的问题并不奇怪,因为C语言数组和结构体本质上都是管理一块内存,那为何编译器要区别对待二者呢? C语言函数为什么不能返回数组? 在C语言程序开发中 ...
 - 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 ...
 - [易学易懂系列|rustlang语言|零基础|快速入门|(11)|Structs结构体]
		
[易学易懂系列|rustlang语言|零基础|快速入门|(11)] 有意思的基础知识 Structs 我们今天来看看数据结构:structs. 简单来说,structs,就是用来封装相关数据的一种数据 ...
 - MT【57】2017联赛一试解答倒数第二题:一道不等式的最值
		
注:康拓诺维奇不等式的应用
 
随机推荐
- 杭电-------2055An Easy Problem(C语言)
			
#include<stdio.h> int main() { int m; int i; scanf("%d", &m); ]; int y; int z; ; ...
 - Flink1.9重大改进和新功能
			
一.Flink1.9.0的里程碑意义 二.重构 Flink WebUI Flink社区讨论了现代化 Flink WebUI 的提案,决定采用 Angular 的最新稳定版来重构这个组件.从Angula ...
 - Git 学习文档
			
Study Document for Git Git 基础 Git 文件的三种状态: 已提交(committed).已修改(modified)和已暂存(staged). Git 工作目录的状态: 已跟 ...
 - mysql官方源安装的一些问题
			
今天测试Linux 各个软件源 ,发现mysql 配置官方源之后,yum install -y mysql 安装了 mysql lastst 最新版, 安装完之后,奇葩的是没有提示输入密码, 所 ...
 - OpenCL中读取image时的坐标
			
本文测试OpenCL中读取image数据时关于坐标的两个问题: 使用float2坐标读取 使用int2坐标读取 首先完整的测试代码如下,测试平台为SDM855: #include <CL/cl. ...
 - c#winform自定义窗体,重绘标题栏,自定义控件学习
			
c#winform自定义窗体,重绘标题栏 虽然现在都在说winform窗体太丑了,但是我也能尽量让桌面应用程序漂亮那么一点点话不多说,先上图 重绘标题栏先将原生窗体设置成无边框,FormBoderSt ...
 - 一起学Vue之条件判断
			
在Vue进行前端开发中,条件判断主要用于根据不同的条件来决定显示或隐藏,或者进行视图之间的切换,本文以一个简单的小例子简述v-if的常见用法,仅供学习分享使用,如有不足之处,还请指正. v-if 指令 ...
 - MySQL概述及入门(二)
			
MySql概述及入门(二) MySQL架构 逻辑架构图: 执行流程图: MySQL的存储引擎 查询数据库支持的存储引擎 执行: show engines: 多存储引擎是mysql有别于其他数据库的一大 ...
 - EPEL添加与删除
			
EPEL简介 EPEL的全称叫 Extra Packages for Enterprise Linux,由Fedora社区打造,如它的全称,这是一个为红帽系列及衍生发行版如CentOS.Fedora提 ...
 - 对于搭建网站中出现“You don't have permission to access this resource.”错误提示的解决思路
			
我是用的是树莓派搭载了ubuntu系统 配置php+apache的网站环境,但在登陆网站进行网站初始化设置时出现错误提示,其大意是没有访问权限,上网搜索了一系列相关教程,都说明对apache2.con ...