定义学生信息结构体和结构体数组,包括学号、两门百分制成绩和姓名;键盘输入

学生不多于 30 人的信息,以输入成绩为负数或大于 100 作为输入结束;按照学号和平均成绩排序,并输出学生信息


 //输入学生分数信息,学号排序和平均分排序后输出

 #include <stdio.h>

 struct student{
long num;
char name[];
float score[];
float aver;
}stu[],temp; int main(void){
int i,j,k,n;
printf("Enter score1 score2 num name\n");
for(i=;;i++){ //当输入的分数1小于0或大于100时结束输入
scanf("%f %f %ld %s",&stu[i].score[],&stu[i].score[],&stu[i].num,stu[i].name);
if(stu[i].score[]< || stu[i].score[]>) break;
stu[i].aver=(stu[i].score[] + stu[i].score[]) / 2.0; } for(j=;j<i-;j++){ //学号冒泡法排序 for(k=;k<i-j;k++){
if(stu[k].num > stu[k+].num){
temp=stu[k];
stu[k]=stu[k+];
stu[k+]=temp;
}
}
}
printf("after num\n"); //输出
printf("num\tname\t\t\tscore1\tscore\taver\n");
for(n=;n<i;n++)
printf("%ld\t%s\t%.1f\t\t%.1f\t\t%.1f\n",stu[n].num, stu[n].name, stu[n].score[], stu[n].score[],stu[n].aver); for(j=;j<i-;j++){ //平均分冒泡法排序 for(k=;k<i-j;k++){
if(stu[k].aver > stu[k+].aver){
temp=stu[k];
stu[k]=stu[k+];
stu[k+]=temp;
}
}
}
printf("after aver\n");
printf("num\tname\t\tscore1\tscore\taver\n"); for(n=i-;n>=;n--)
printf("%ld\t%s\t%.1f\t\t%.1f\t\t%.1f\n",stu[n].num, stu[n].name, stu[n].score[], stu[n].score[],stu[n].aver);
return ;
}

C语言结构体排序的更多相关文章

  1. c语言结构体排序示例

    设计性实验编程实现对学生成绩表的相关信息排序.实验要求:⑴ 建立一个由n个学生的考试成绩表,每条信息由学号.姓名和分数组成.⑵ 按学号排序,并输出排序结果.⑶ 按分数排序,分数相同的则按学号有序,并输 ...

  2. go语言的排序、结构体排序

    原文:https://studygolang.com/articles/1598 晚上准备动手写点 go 的程序的时候,想起 go 如何排序的问题.排序 sort 是个基本的操作,当然搜索 searc ...

  3. C++结构体排序

    在C++中,对结构体的排序方式比C语言丰富的多.在C语言中,我们主要是通过qsort进行排序操作(抛开手写排序算法不说). 在C++<algorithm>中,有一个十分强大的排序函数sor ...

  4. HDOJ 1009. Fat Mouse' Trade 贪心 结构体排序

    FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  5. 漫谈C语言结构体struct、公用体union空间占用

    先用代码说话: #include<stdio.h> union union_data0{ int a ;//本身占用4个字节 char b ;//本身占用1个字节 int c ; }; u ...

  6. 解析C语言结构体对齐(内存对齐问题)

    C语言结构体对齐也是老生常谈的话题了.基本上是面试题的必考题.内容虽然很基础,但一不小心就会弄错.写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结果往往都比你声明的 ...

  7. 不可或缺 Windows Native (8) - C 语言: 结构体,共用体,枚举,类型定义符

    [源码下载] 不可或缺 Windows Native (8) - C 语言: 结构体,共用体,枚举,类型定义符 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 结构体 ...

  8. 转载 从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法

    转载自:http://www.cnblogs.com/cj695/p/3863142.html sort函数在使用中非常好用,也非常简单,而且效率与冒泡或者选择排序不是一个数量级.本文就sort函数在 ...

  9. 【转】 从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法

    sort函数在使用中非常好用,也非常简单,而且效率与冒泡或者选择排序不是一个数量级.本文就sort函数在vector中的用法分为sort函数入门用法与自定义comp比较函数比较结构体这两个最基本的功能 ...

随机推荐

  1. maya2012无法安装卸载激活失败

    AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...

  2. Unity [SerializeField]

    在Unity3d中Unity3D 中提供了非常方便的功能可以帮助用户将 成员变量 在Inspector中显示,并且定义Serialize关系. 也就是说凡是显示在Inspector 中的属性都同时具有 ...

  3. OneDrive撸5T硬盘空间教程

    注意:要注册多个账户获取网盘的,用无痕模式打开临时教育邮箱网址.打开之后不要关闭,等会用来接收验证码. 1.需要office 365注册这时候需要教育邮箱: 临时教育邮箱:http://sysu.ed ...

  4. Mongodb~连接串的整理

    mongodb连接串可以分为普通开放的,带全局用户名和密码的,为指定数据库指定用户名密码的等. 普通开放连接 mongodb://localhost:27017 带全局用户密码的 mongodb:// ...

  5. C# DialogResult的用法

    在程序中,经常会弹出一个对话框来让用户填写一些信息,填写完成后,当用户点击“确定”按钮后,在主窗体中进行其他的处理.比如一个简单的例子,在主窗体中有一个菜单,是“增加用户”,当点击这个菜单之后,我们需 ...

  6. Flex Validator的小BUG

    Flex中对同一控件如TextInput进行多种格式校验的情况下,如不注意,可能导致错误信息不显示的BUG,比如 <fx:Array id="validators"> ...

  7. JQuery基础知识==jQuery选择器

    选择器是jQuery的基础,在jQuery中,对事件处理.遍历DOM和Ajax操作都依赖于选择器 1. CSS选择器 1.1 CSS是一项出色的技术,它使得网页的结构和表现样式完全分离.利用CSS选择 ...

  8. [Maven] Project build error: 'packaging' with value 'jar' is invalid. Aggregator projects require 'pom' as packaging.

    将<packaging>jar</packaging> 改为<packaging>pom</packaging>

  9. mysql-数据库模式定义语言(DDL)

    库的管理 /* 一.库的管理 创建.修改.删除 二.表的管理 创建.修改.删除 创建: create 修改: alter 删除: drop */ #一.库的管理 #.库的创建 /* 语法: creat ...

  10. flash系统奔溃的主要原因

    1.内存泄露(内存超过系统允许的最大限制,11.4版本为2G) 2.脚本死循环 3.舞台内元件的大小超出了系统限制