提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

题目:

[实验案例2:结构体数组]

用结构数组建立一张班级成绩单,包括每个学生的学号、姓名、成绩。用函数编程实现下列功能:

1. 输入每个学生的各项信息;

2. 输出每个学生的各项信息;

3. 按照学生的成绩项进行降序排序。

[实验指导]

先定义结构体,再定义输入函数、排序函数和显示函数。用主函数分别调用这些函数。

代码:

/* 用结构数组定义输入、排序和输出每个学生的信息,文件名sy9_2.c */
#include <stdio.h>
#define N 3struct Stu {long id;                  /* 学生编号*/char name[20];           /* 名称 */float score;              /* 成绩 */
};void input( struct Stu *p ,int n);
void sort( struct Stu *p ,int n);
void display( struct Stu *p ,int n);
int main( )
{printf("请输入3个学生的信息:\n") ;struct Stu info[N];input(info,N);             /*结构体数组名作为实参 */display( &info[0] ,N); sort(info,N);display(info,N);return 0;
}void input(struct Stu *p,int n)    /*输入结构体数组各元素的成员的值 */
{     int i;float temp;for(i=0;i<n;i++)
{printf("请输入编号:");scanf("%ld", &p[i].id );printf("请输入姓名:");scanf("%s", (p+i)->name );printf("请输入成绩:");scanf("%f", &temp); (*(p+i)).score =temp; printf("\n");}
}void sort(struct Stu *p,int n)      /*对成绩用选择法进行降序排序 */
{       int i,j;
struct Stu t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if((p+i)->score<(p+j)->score){t=*(p+i);*(p+i)=*(p+j);*(p+j)=t;}
}void display(struct Stu *p,int n)     /*显示结构体数组元素的成员的值 */
{int i;for(i=0;i<n;i++)
{printf("编号为:%ld\t", (*(p+i)).id );printf("姓名为:%s\t", (p+i)->name );printf("成绩为:%.2f\n", p[i].score );}
}

结果:


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了结构体数组。

结构体数组]用结构数组建立一张班级成绩单,包括每个学生的学号、姓名、成绩(C语言)相关推荐

  1. C 用单向链表建立一张班级成绩单,包括每个学生的学号、姓名、英语、高等数学、普通物理、C语言程序设计4门课程的成绩。实现以下功能,并提供菜单选项:(只实现了部分功能)

    用单向链表建立一张班级成绩单,包括每个学生的学号.姓名.英语.高等数学.普通物理.C语言程序设计4门课程的成绩.实现以下功能,并提供菜单选项: 0.退出 1.输入每个学生的各项信息 2.输出每个学生的 ...

  2. C/C++结构体struct 与结构体数组和枚举型enum的结合使用

    C/C++结构体struct 与结构体数组和枚举型enum的结合使用 #include "stdafx.h" #include <string> #include &l ...

  3. 结构体自动化转为char数组的实现

    结构体自动化转换为char数组这个需求,来自于一个最近开发的一个项目,在项目开发过程中遇到一个小问题,需要将各种结构体拷贝到char数组中,这对于一个简单的结构体来说是很简单的事情,比如下面这个只有整 ...

  4. (原创)结构体自动化转为char数组的实现

    结构体自动化转换为char数组这个需求,来自于一个最近开发的一个项目,在项目开发过程中遇到一个小问题,需要将各种结构体拷贝到char数组中,这对于一个简单的结构体来说是很简单的事情,比如下面这个只有整 ...

  5. C语言结构体及函数传递数组參数演示样例

    C语言结构体及函数传递数组參数演示样例 注:makeSphere()函数返回Sphere结构体,main函数中.调用makeSphere()函数,传递的第一个參数为数组,传递的数组作为指针. post ...

  6. Golang——结构体创建与初始化、结构体与数组、结构体与切片、结构体与map、结构体作为函数参数、结构体方法、结构体方法继承

    结构体: 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合 结构体可以很好的管理一批有联系的数据,使用结构体可以提高程序的易读性,类似于Java的类一样 不能在结构体直接赋值 字段名必须唯一 ...

  7. C语言学习笔记---结构体中的字符数组和字符指针

      在结构体中可以使用字符数组来存储字符串,也可以使用字符指针来存储字符串.比如: struct str{char s1[5];char s2[5];};struct str str1= {" ...

  8. c语言嵌套结构体数组,第22节 C语言结构体之结构体嵌套、结构体指针与结构体数组的代码实现...

    结构体 #include //第一步 struct Student { //学号 int no; //姓名 char name[20]; //性别 char sex[10]; //成绩 double ...

  9. C++结构体(结构体创建,结构体数组,结构体指针,结构体嵌套结构体,结构体做函数参数,const变量使用)

    C++结构体(结构体创建,结构体数组,结构体指针,结构体嵌套结构体,结构体做函数参数,const变量使用) 目录 C++结构体(结构体创建,结构体数组,结构体指针,结构体嵌套结构体,结构体做函数参数, ...

最新文章

  1. Psychz租用Switch公司两个数据中心的空间
  2. 「初步」Spring与commons的BeanUtil.copyProperties
  3. .net 反射调用私有变量
  4. UpdateData( )
  5. 球迷 如何在Linux纯命令行玩转谷歌浏览器,边看欧洲杯,边看足球宝贝
  6. xmos驱动_独家!XMOS发表最新Xcore.ai“跨界处理器”
  7. 计算机二级数据库系统知识点,2020年全国计算机二级Access复习知识点:分布式数据库系统...
  8. linux服务器安装补丁包,Linux下Web服务器环境搭建LNMP一键安装包 v2.6[20141224更新] | 系统运维...
  9. 电机控制-H 桥电路 控制方式简单解析
  10. 图片降噪DeNoise AI
  11. Tableau安装详解及密钥申请
  12. 数学问题:矩阵运算法则及矩阵求导
  13. 一见钟情 歌词 翻译
  14. Centos7 配置IP地址(动态或者静态)
  15. 小学计算机网络信息安全教案,黑教版信息技术五年级上册第十五课《网络信息安全》教案.doc...
  16. P1551 亲戚 (并查集)
  17. input标签绑定click事件无反应
  18. 【Python入门】Python的Dict容器一
  19. python俩种方法画日本国旗
  20. linux eda软件下载,立创EDA V6.4.7 Linux版

热门文章

  1. 硕士研究生统考计算机专业考试科目,全国硕士研究生入学统一考试统考科目说明...
  2. 现代教育技术计算机网络试题及答案,《现代教育技术》期末复习题及答案
  3. 恢复误删用户桌面进程导致桌面上的图标和任务栏
  4. 正确的判断源于独立思考
  5. js获取当前时间字符串 格式yyyy-MM-dd HH:MM:SS
  6. E. Split Into Two Sets(染色法判断二分图)
  7. 用友U8案例教程生产订单前台操作
  8. 你需要忘记失去的,感激拥有的,和期待将至的
  9. 【FND】EBS创建子请求
  10. 洛谷P2341(Tarjan+缩点)