例题详解:

1.

在主函数中定义结构体数组,struct student stutable[10];

struct student {int stunum;//学号char name[20];//姓名float examscore;//考试成绩float labscore;//实验成绩float totalmark;//总评成绩
};

输入如下十个学生的成绩数据,每个学生信息包括 学号 、姓名 、考试成绩 ,实验成绩。同时计算每个学生的总评成绩( =考试成绩*60% + 实验成绩*40%)并保存至每个结构体的totalmark。

71250    张三  95  82
69753   李四  88  86
12254   王五  87  88
61256   张六  73  85
30258   孙七  25  88
11260   柯八  82  76
33262   谢九  91  85
29263   叶十  80  75
22483   陈一  80  76
71525   王二  71  88

2.

在主函数中定义一个结构体指针数组,struct student  *parrray[10] ; 使其每一个指针指向上述结构体数组中的一个元素; 按总评成绩从高到低的顺序,对指针数组parray进行排序,按总评成绩从高到低的顺序输出排序之后的全部学生成绩。

struct student *parray[10],*t;
int main() {int i,j;struct student stutable[10],*p;struct student *parray[10],*t;for(p=stutable,i=0; p<stutable+10,i<10; p++,i++) {scanf("%d %s %f %f",&p->stunum,p->name,&p->examscore,&p->labscore);//输入数据p->totalmark=p->examscore*0.6+p->labscore*0.4;//计算总评parray[i]=p;//指针数组初始化}//冒泡排序,比较总评,交换指针for(i=0; i<9; i++) {for(j=0; j<9-i; j++) {if(parray[j]->totalmark<parray[j+1]->totalmark) {t=parray[j];parray[j]=parray[j+1];parray[j+1]=t;}}}//排序for(i=0; i<10; i++) {printf("%d\t%s\t%.2f\t%.2f\t%.2f\n",parray[i]->stunum,parray[i]->name,parray[i]->examscore,parray[i]->labscore,parray[i]->totalmark);}//输出信息
}

输入重定向结果:

c语言——结构体数组——学生成绩表相关推荐

  1. 利用C语言结构体实现学生成绩录入系统

    利用C语言结构体实现学生成绩录入系统 ##功能介绍 密码功能嵌入于主函数中,初始密码为:123456(可根据需要修改) 输入1可以调用add函数对学生的基本信息以及成绩进行输入 输入2则调用print ...

  2. c语言结构体编辑学生成绩管理,C语言基于结构体的学生信息管理系统实现

    宋福英 摘  要: 中国高校为保证学生信息安全,各分院的学生信息都在一个相对封闭的闭环内共享.中国高校在校生人数逐年递增,给高校的信息管理带来不小压力.C语言兼具高级语言和汇编语言的特点,简洁.紧凑. ...

  3. c语言结构体编辑学生成绩管理,【C语言】结构体的应用以及学生成绩管理系统的设计...

    一.结构体 数组中的各元素是属于同一个类型的.有时需要将不同类型的数据组合成一个整体,以便于引用.如,一个学生的学号.姓名.性别.年龄.成绩.家庭地址等项.这些项都与某一学生相联系.如果分别定义为互相 ...

  4. 【C语言基础】练习:结构体统计学生成绩,快递费用计算

    每日练习一:结构体统计学生成绩 题目要求:有3名学生,每个学生的数据包括学号.姓名.3门课的成绩,从键盘输入3个学生的数据,打印出每个学生的平均成绩,以及最高分学生的数据(包括学号.姓名.3门课的成绩 ...

  5. 学生成绩排名 (用结构体数组按成绩排名)

    定义结构体struct stu,编写成绩排名函数:void sort(struct stu *ps,int n),对结构体数组按成绩排名. 程序功能为读入整数N(N<100),再读入N个学生的学 ...

  6. C语言 | 结构体数组

    C语言结构体数组概述 一个结构体变量中可以存放一组有关联的数据,如一个学生的学号.姓名.成绩等数据,如果有10个学生的数据需要参加运算,显然应该用数组,这就是结构体数组. 结构体数组与之前介绍的数值型 ...

  7. c语言字符结构数组初始化,C语言结构体数组初始化问题

    C语言结构体数组指定初始化器时,下面的三种方法,只有第三种可以,但是第一,二种,我看不出语法上哪错了,编译器DEVc++会报错 [Error] C99 designator 'num_insur' o ...

  8. c语言 结构体数组的赋值

    c语言 结构体数组的赋值 //**创建结构体** #include<stdio.h> struct Class{int id;char name[10]; }; //******结构体数组 ...

  9. c语言如何为结构数组赋值,C语言结构体数组同时赋值的另类用法

    说到C语言结构体数组的同时赋值,许多人一想就会想到用以下的这种方法,咱们来写一个例子: #include struct student { int a; int b ; int c ; }; stru ...

最新文章

  1. 神奇的输入 while(cin....)如何在遇见换行之后进入下一层循环读入
  2. 数据库物理文件 mysql_MYSQL数据库-物理文件
  3. SUSE下双网卡IP同网段的烦恼
  4. 修改aconda镜像服务器,Jupyter安装链接aconda的实现方法
  5. 10分钟让你明白什么是ERP
  6. C#调用C++函数来与串口通信
  7. 六、jQuery 中的 AJAX 跨域问题
  8. 漫谈边缘计算(二):各怀心事的玩家
  9. python零碎笔记整理1
  10. exif.js html图片旋转,exif.js 实现图片旋转到正常
  11. orbslam2稠密版建图
  12. 解决maven报错JAVA_HOME should point to a JDK not a JRE问题
  13. 关于打印出来的字符串,最后的逗号改为句号的解决办法
  14. 使用单链表制作电子通讯录
  15. 在线免费压缩pdf文件
  16. 小程序、APP Store 需要的 SSL 证书是个什么东西?
  17. VB里的 dim是什么意思?
  18. Kickstart无人值守安装
  19. Plist Converter for mac(plist文件转换工具)
  20. Java递归实现多级菜单

热门文章

  1. 汽车SoC全生命周期功能+网络安全架构设计
  2. Heap size 80869K exceeds notification threshold (51200K)
  3. 【C++算法题】求三角形边长
  4. 斗破苍穹java游戏美杜莎在哪_《斗破苍穹》四大魔兽体质排名,美杜莎的九彩吞天蟒仅排第二...
  5. 在macOS上交叉编译arm64的程序并在IOS上运行
  6. UE4的.pak文件的加密和签名
  7. 2021届双非学生考西北区国家电网第一批(计算机类)经验分享
  8. 电脑系统重装篇7:使用GHO镜像文件安装系统(OneKey)
  9. 丑数(Ugly Number)的判别和证明
  10. ucos通信邮箱的理解