C语言 统计一个班的学生成绩排序

编程入门 行业动态 更新时间:2024-10-06 16:23:49

C语言 统计一个班的学生<a href=https://www.elefans.com/category/jswz/34/1769940.html style=成绩排序"/>

C语言 统计一个班的学生成绩排序

功能:

(1) 每个学生的学号和四门功课的成绩从键盘读入。

(2) 计算每个学生的总分和平均分。

(3) 按平均成绩进行排序,输出排序后的成绩单(包括学号、四门功课的成绩和平均分),给出名次。如果分数相同,则名次并列,其他学生名次不变。

实验步骤与要求:

(1) 每个功能为一个独立的函数。

(2) 调试程序时,可先输入少量学生的成绩作为实验数据。如可输入3名学生4门课成绩:

学号 成绩

9701 67,72,65,80

9702 75,82,94,95

9703 70,74,80,76

完整代码:

#include<stdio.h>
#define N 3 //定义有3个学生
//定义学生结构体
struct student
{int n;float  c, m, e, p,aver;};
void paixu(struct student x[N])
{printf("-----------------------------------成绩单-------------------------------------\n");printf("名次           学号           英语           语文            数学            物理             平均分\n");int i, j, k, temp;for (i = 0; i < N - 1; i++){k = i;for (j = i + 1; j < N; j++){if (x[i].aver > x[j].aver)//如果 后面比前面小k = j;if (k != j)//如果前面比后面小{temp = x[j].aver;x[j].aver = x[i].aver;x[i].aver = temp;temp = x[j].n;x[j].n = x[i].n;x[i].n = temp;temp = x[j].c;x[j].c = x[i].c;x[i].c = temp;temp = x[j].m;x[j].m = x[i].m;x[i].m = temp;temp = x[j].e;x[j].e = x[i].e;x[i].e = temp;temp = x[j].p;x[j].p = x[i].p;x[i].p = temp;//将两个结构组交换}}}int a;for (a=0; a < N; a++){printf("%d          %d          %f          %f          %f          %f          %f\n", a + 1, x[a].n, x[a].e, x[a].c, x[a].m, x[a].p, x[a].aver);}}
//计算模块
float jisuan(float c, float m, float e, float p)
{float aver, sum;sum = c + m + e + p;aver = sum / 4;printf("总分是:%f,平均值是:%f\n", sum,aver);return aver;
}
//输入模块
void fun1()
{int a;struct student x[N];for (a = 0; a < N; a++){printf("请输入学号:");scanf("%d", &x[a].n);printf("英语:");scanf("%f", &x[a].e);printf("语文:");scanf("%f", &x[a].c);printf("数学:");scanf("%f", &x[a].m);printf("物理:");scanf("%f", &x[a].p);x[a].aver= jisuan(x[a].c, x[a].m, x[a].e, x[a].p);}paixu(x);
return;
}//排序模块,排 x[a].averint main()
{fun1();//完成输入后,由结构体数组储存学生的信息}

思路:运用了结构体数组储存学生信息的思想,用循环结构输入输出学生的信息。

        运用了模块化的思想,各个函数模块化,实现调用

更多推荐

C语言 统计一个班的学生成绩排序

本文发布于:2024-02-05 11:07:31,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1744985.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:成绩   语言   学生

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!