#include

#include

#define STU_NUM 10 /*宏定义学生的数量*/

struct student /*定义一个结构体用来存放学生学号、三门课成绩、总分及平均成绩*/

{

char stu_id[20]; /*学生学号;*/

float score[3]; /*三门课成绩;*/

float total; /*总成绩;*/

float aver; /*平均成绩;*/

};

/*排序用一个函数来实现*/

void SortScore(student *stu,int n)

{

student stud;

for(int i = 0; i < n-1; i++)

for(int j = i+1 ; j < n; j++)

{

if(stu[i].total < stu[j].total)

{

stud = stu[i];

stu[i] = stu[j];

stu[j] = stud;

}

}

}

int main( )

{

student stu[STU_NUM]; /*创建结构体数组中有10个元素,分别用来保存这10个人的相关信息。*/

/*输入这十个学生的相关信息*/

for(int i = 0; i

{

printf("请输入第%d个学生的学号:",i+1);

scanf("%s",&stu[i].stu_id);

printf("输入第%d个学生的数学成绩:",i+1);

scanf("%f",&stu[i].score[0]);

printf("输入第%d个学生的英语成绩:",i+1);

scanf("%f",&stu[i].score[1]);

printf("输入第%d个学生的计算机成绩:",i+1);

scanf("%f",&stu[i].score[2]);

stu[i].total = stu[i].score[0]+stu[i].score[1]+stu[i].score[2];

stu[i].aver = stu[i].total/3;

}

printf("\n");

SortScore(stu,STU_NUM);/*调用排序函数*/

/*输出排序后的各学生的成绩*/

for(i = 0 ; i < STU_NUM; i++)

{

printf("序号: %d\t",i);

printf("学号:%s\t",stu[i].stu_id);

printf("数学:%f\t",stu[i].score[0]);

printf("英语:%f\t",stu[i].score[1]);

printf("计算机:%f\t",stu[i].score[2]);

printf("平均成绩:%f\t",stu[i].aver);

printf("总分:%f\t",stu[i].total);

printf("\n\n");

}

return 0;

}

注:(源程序中主要标识符含义说明)

#define STU_NUM 10 /*宏定义学生的数量*/

struct student /*定义一个结构体用来存放学生学号、三门课成绩、总分及平均成绩*/

{

char stu_id[20]; /*学生学号;*/

float score[3]; /*三门课成绩;*/

float total; /*总成绩;*/

float aver; /*平均成绩;*/

}

c语言设计学生结构体,c语言程序设计编程题目:请 :编写完成对学生相关信息的要求:1.定义一个结构体类型student,其中包括三个成...相关推荐

  1. ACMNO.42 C语言-第几天 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。利用结构体的在最下面

    题目描述 定义一个结构体变量(包括年.月.日).计算该日在本年中是第几天,注意闰年问题. 输入 年月日 输出 当年第几天 样例输入 2000 12 31 样例输出 366 来源/分类 C语言 题目截图 ...

  2. 定义一个结构体student,存储学生的学号、名字、性别和年龄,读入每个学生的所有信息,保存在结构体中,并输出。

    题目描述 定义一个结构体student,存储学生的学号.名字.性别和年龄,读入每个学生的所有信息,保存在结构体中,并输出.结构体student的定义如下: struct student { int n ...

  3. 定义一个结构体指针需要分配存储空间?

    前言 问题的来源于在学数据结构的时候,C++的语法和C语言的语法竟然不一样. 1.首先函数的参数有两种传递方式,一个是值传递,一个是地址传递.当指针作为参数传递的时候,即为地址传递,但C++写的时候需 ...

  4. 定义一个结构体,并使用结构体的方式保存这些数据。使用结构体的方式读取打印学号为 090098 与 090010 同学的各种信息

    某班的学生成绩如下表所示 学号 姓名 性别 班级 数学 英语 计算机 090092 边晓楠 女 数学 091 68 85 80 090093 陈红慧 女 数学 091 58 55 60 090094 ...

  5. 定义一个结构体指针需要分配存储空间

    link 问题:定义结构体指针时,有没有同时分配存储空间啊?看到结构体的数组定义好以后就直接可以用了.但是结构体指针在链表中还要malloc()申请空间.这是为什么啊? 答案:定义结构体指针时并没有分 ...

  6.  一个复数可以用实部和虚部两部分组成,a1 = 1.2 + 3.4i,其中1.2是实部,3.4是虚部。定义一个结构体ComplexNumber,包含imaginary和real两个成员变量,能够表示

    题目原文     一个复数可以用实部和虚部两部分组成,a1 = 1.2 + 3.4i,其中1.2是实部,3.4是虚部.定义一个结构体ComplexNumber,包含imaginary和real两个成 ...

  7. MDK keil中在定义一个结构体的时候加点后面不出现结构体当中变量的提示

    MDK keil中在定义一个结构体的时候加点后面不出现结构体当中变量的提示 解决办法: 1.确保已经将顶层头文件stm32f10x.h添加至当前你所写的文件内: 2.检查你自己写的文件是否已经加载到工 ...

  8. 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年 问题。 写一个函数days,实现上述计算。由主函数将年、月、日传递给days函数,计算后将 日子数传回主函数输出

    /*定义一个结构体变量(包括年.月.日).计算该日在本年中是第几天,注意闰年 问题. 写一个函数days,实现上述计算.由主函数将年.月.日传递给days函数,计算后将 日子数传回主函数输出*/#in ...

  9. 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天?注意闰年问题

    定义一个结构体变量(包括年.月.日).计算该日在本年中是第几天?注意闰年问题 #include<stdio.h>struct Date{int year;int month;int day ...

最新文章

  1. 20141125-2
  2. 还找不到数据异常原因?这份教程赶快拿走
  3. 47 FI配置-财务会计-固定资产-一般评估-定义资产分类中的折旧范围
  4. ES6新语法 变量 、 服务器端js和浏览器端js的区别
  5. 架构设计 - 自动化运维之架构设计六要点
  6. 5.Java 面试题整理(JDBC ,JDO 方面)
  7. ipfs+eth部分资料
  8. 一文弄懂二叉树三种遍历
  9. Dell R410 BIOS 升级方法
  10. jQuery EasyUI/TopJUI创建日期时间输入框
  11. Win32 Application和Win32 Console Application区别
  12. 网站自动跳转代码大合集
  13. 西门子step7 c语言开发,关于西门子STEP7 V5.5中文编程软件
  14. PRD:倒推迅游手游加速器APP-需求文档
  15. linux系统权限640,linux权限及权限管理
  16. JavaScript编程精解(笔记1)
  17. Error “Client wants topic A to have B, but our version has C. Dropping connection.“
  18. 机器学习笔记之深度信念网络(二)模型构建思想(RBM叠加结构)
  19. 【Linux操作系统】——安装CentOS系统
  20. 【技术综述】人脸算法新热点,人脸编辑都有哪些方向,如何学习

热门文章

  1. 什么是安卓马甲APP?寻求高手安卓马甲包封装APP上架
  2. java制作音乐播放器教程_教你轻松制作java音乐播放器
  3. Chrome 谷歌浏览器下载网页中的背景图、图标等
  4. 企业服务总线(ESB)技术与革新
  5. Tesra超算网络,性价比最高的超算中心!
  6. 软件测试app访问相机,PlayMemories Mobile应用实测,让相机成为你手机的外置摄像头...
  7. Tesra超算网络AI训练的使用流程
  8. bootstrap显示遮罩层
  9. Mac扫描局域网内连接设备IP及MAC地址并查看对应IP开放端口
  10. 指针、函数、指针函数和函数指针