满意答案

woaizyb

推荐于 2018.05.24

采纳率:49%    等级:12

已帮助:7953人

#include

#include

typedef struct student

{

int index; //学生的序号

int score; //学生的成绩

}STUDENT_T;

//根据学生成绩进行冒泡排序

void ranking(STUDENT_T *a, int cnt)

{

int i = 0;

int j = 0;

STUDENT_T tmp = {0};

for (i = 0; i

{

for (j = i+1; j

{

if (a[i].score

{

memcpy(&tmp, &a[j], sizeof(STUDENT_T));

memcpy(&a[j], &a[i], sizeof(STUDENT_T));

memcpy(&a[i], &tmp, sizeof(STUDENT_T));

}

}

}

}

void main(int argc, char *argv[])

{

int i = 0;

int j = 0;

int cnt = 0;

int rank = 0;

STUDENT_T student[1024] = {0};

char tmp[32] = {0};

printf("请输入学生人数:\n");

scanf("%d", &cnt);

if (cnt > 1024)

{

printf("最多1024个学生\n");

return;

}

printf("请按序号依次输入%d个学生的成绩\n", cnt);

for (i = 0; i

{

printf("第%d个学生:\n", i+1);

scanf("%s", tmp);

student[i].index = i+1;

student[i].score = atoi(tmp);

}

//根据成绩进行排名

ranking(student, cnt);

//计算名次并打印

for (i = 0; i

{

//名次要考虑到并列的情况

if (0 == i || student[i].score != student[i-1].score)

{

rank = i+1;

}

printf("名次:%d 序号:%d 成绩:%d\n", rank, student[i].index, student[i].score);

}

}

011分享举报

c语言 名字 分数排序,C语言 学生成绩排序 按学生的序号输入 n 名学生的成绩,按照分数由高到低的顺序输出学生的名次、序号和成绩...相关推荐

  1. 对某班学生成绩排序。从键盘依次输入某班学生的姓名和成绩(一个班级人数最多不超过50人)并保存,然后分别按学生成绩由高到低顺序输出学生姓名和成绩,成绩相同时,则按输入次序排序。

    [问题描述] 对某班学生成绩排序.从键盘依次输入某班学生的姓名和成绩(一个班级人数最多不超过50人)并保存,然后分别按学生成绩由高到低顺序输出学生姓名和成绩,成绩相同时,则按输入次序排序. [输入形式 ...

  2. 请编写一个程序,使用字典存储学生信息,学生信息包括学号和姓名,请根据学号从小到大的顺序输出学生的信息。

    请编写一个程序,使用字典存储学生信息,学生信息包括学号和姓名,请根据学号从小到大的顺序输出学生的信息. length = int(input("请输入学生总数:")) dict_1 ...

  3. 请编写一个程序,使用字典存储学生信息,学生信息包括学号和姓名,请根据学生学号从小到大的顺序输出学生信息。

    请编写一个程序,使用字典存储学生信息,学生信息包括学号和姓名,请根据学生学号从小到大的顺序输出学生信息. 代码如下: dic = {} number = int(input("请输入学生的人 ...

  4. C语言学习之用指针处理,输入a和 b两个整数,按先大后小的顺序输出a和 b

    用指针方法来处理这个问题,输入a和 b两个整数,按先大后小的顺序输出a和 b. int main(){int a,b;//定义两个整型变量int *max,*min;//定义整型指针变量scanf(& ...

  5. Problem F: 结构体--学生信息排序

    Problem F: 结构体–学生信息排序 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 378 Solved: 192 [Submit][Status ...

  6. 成绩排序_给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。

    描述 给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前. 格式 输入格式 第一行为n (n大于0不超过20),表示班里的学生数目: 接下来的n行,每行为 ...

  7. 成绩排序 给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。

    题目描述 给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前. 输入格式 第一行为 n (0 < n < 20),表示班里的学生数目: 接下来 ...

  8. 四个数排序C++语言

    [问题描述] 从键盘输入4个整数,将其按照从大到小的顺序输出. [输入形式] 输入一行4个整数 [输出形式] 在一行中,输出排序后的4个整数 [样例输入] 15 234 5 18 [样例输出] 234 ...

  9. 国二上机c语言题型,国二c语言上机国二真题

    国二c语言上机国二真题 第一套 程序填空 给定程序中,函数fun的功 能是:将形参n所指变量中, 各位上为偶数的数去除,剩 余的数按原来从高位到低位 的顺序组成一个新的数,并 通过形参指针n传回所指变 ...

最新文章

  1. postman无法获得响应_【原创翻译】POSTMAN从入门到精通系列(二):发送第一个请求...
  2. PHP实现MVC开发: 一个简单的MVC(转)
  3. 联合索引使用规则(转载)
  4. linux7切断防火墙,Linux7关闭防火墙
  5. 常哥带你认识NoSQL和Redis的强大
  6. dax 筛选 包含某个字_DAX分享9:DAX中用变量来计算动态filter context中数值
  7. Typecho开启全站Pjax
  8. php mysql源码包,linux下Apache+PHP+mysql+phpMyAdmin源码包安装配置
  9. centos7.5配置ntp时间服务器
  10. Java访问用户名密码验证的url
  11. 【作图】origin制作图中图
  12. java 上传图片 并压缩图片大小
  13. 思维方式 | 深入浅出解释“第一性原理”
  14. VMwarex虚拟机打不开:“指定的文件不是虚拟磁盘”
  15. Unity表情聊天(NGUI图文混排)
  16. java switch贯穿_Java Switch语句贯穿问题
  17. 机房内网电脑时间自动同步器
  18. (十)DSP28335基础教程——ECAP实验(超声波测距)
  19. 软件工程基础知识复习宝典
  20. win10 应用程序exe图标突然变成白色,怎么恢复?

热门文章

  1. SQL中两个数字相除,结果保留n位小数
  2. Xubuntu 美化——xfce4桌面的主题、字体、图标设置
  3. 【区块链进阶】比特怪胎下的风口--链上治理(上篇)
  4. ADS-NPU芯片架构设计的五大挑战
  5. java光照补偿_Matcap Shader 详解【3】 -实现PBR光照模型
  6. Oracle使用plsql developer连接数据库报错“Ora-12154:连接标识”
  7. 产业AI破晓,钛灵市场助力消费类电子企业升级转型
  8. 星巴克的成功,一切与咖啡无关
  9. mysql重置数据库主键_重置Mysql主键的方法
  10. 求字符串的长度(string char)