编写一个C语言程序,统计一个班(最多50人)的学生成绩,要求实现以下功能:

由键盘输入每一个学生的学号,姓名和四门课程的成绩;
计算每个学生的平均分和总分;
按总分排序(从高到低),并按名次输出;
根据要求输出某门功课(由键盘输入课程号)成绩在90分以上(包括90分)的学生情况;
具体要求:
每一个功能为一个独立的函数;
所有的键盘输入都要有提示;
学生情况应用结构体表示,例如:
struct student
{ int num;
char name[10 ];
float grade[6]; };

要用最基础的C语言,不要C++

【程序100】
题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出
平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件"stud"中.
1.程序分析:
2.程序源代码:
#include "stdio.h"
struct student
{ char num[6];
char name[8];
int score[3];
float avr;
} stu[5];
main()
{int i,j,sum;
FILE *fp;
/*input*/
for(i=0;i<5;i++)
{ printf("\n please input No. %d score:\n",i);
printf("stuNo:");
scanf("%s",stu[i].num);
printf("name:");
scanf("%s",stu[i].name);
sum=0;
for(j=0;j<3;j++)
{ printf("score %d.",j+1);
scanf("%d",&stu[i].score[j]);
sum+=stu[i].score[j];
}
stu[i].avr=sum/3.0;
}
fp=fopen("stud","w");
for(i=0;i<5;i++)
if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)
printf("file write error\n");
fclose(fp);
}
温馨提示:内容为网友见解,仅供参考
无其他回答

编写C语言,求某班50个学生的5门课程的平均成绩,
\/\/引入stdio.h头文件,用于输入输出#include <stdio.h>\/\/定义常量,表示学生数和课程数#define STUDENT 50#define COURSE 5\/\/定义主函数int main(){ \/\/声明一个二维数组,用于存储每个学生的每门课程的成绩 int score[STUDENT][COURSE]; \/\/声明一个一维数组,用于存储每门课程的总分 int su...

求C语言程序,输入一个班50名学生成绩,从高到低排序输出每名学生成绩和...
include<stdio.h> include<string.h> define NUM 50 void bubblesort(float *grade,char (*num)[20]){ int i,j;float temp;char numtemp[NUM][20];for(i=1;i<NUM;i++)for(j=0;j<NUM-i;j++){ if(grade[j]<grade[j+1]){ temp=grade[j];grade[j]=grade[j+1];grade[j+1]...

c语言,输入50个学生的成绩,然后排序,最后算出平均分
printf ("所有学生成绩的平均分是:%.2lf\\n", average);return 0;}

用c语言设计一个程序统计一个班的学生成绩?
并且for(int i=0;i<len;i++){xxx}改成int i=0;for(i=0;i<len;i++){xxx}即可正常运行 程序运行测试图如下:

C语言:有50名学生,要求输出成绩大于80的学生的学号和成绩!谢谢!
int number;float score;};int main(){ int i,num;float sco;struct student stu[50];printf("依次输入50个学生的学号和成绩");for(i=0;i<50;i++){ scanf("%d%f",&num,&sco);stu[i].number=num;stu[i].score=sco;} for(i=0;i<50;i++){ if(stu[i].score>80)printf("...

如何用c语言统计学生成绩
这个程序首先要求用户输入学生人数,然后根据学生人数创建一个动态大小的数组scores来存储学生成绩。接下来,程序使用for循环获取用户输入的学生成绩,并在过程中计算总分、最高分和最低分。最后,程序计算平均分,并输出统计结果。你可以直接运行这段代码,并按照提示输入学生人数和对应的学生成绩,然后程序会...

编写一个完整c程序,用来输入50个学生考试分数,计算平均分数。要求,将...
int a;float o;for(a=0;a<5;a++){ printf("\\n输入第%d个学生的成绩:",a+1);scanf("%g",&score[a]);} o=average(score);\/\/定义一个求平均分的函数 printf("\\n平均分为:%g\\n\\n",o);system("pause");\/\/C语言调用的系统函数--按任意键继续(不重要!)return 0;} ...

编程如何用C语言编写一个学生成绩管理系统程序
\/*函数statistics,功能:统计学生成绩*\/{float sum1=0,sum2=0,sum3=0,ave1=0,ave2=0,ave3=0,max=0,min;score *p;int x,y=0,i=0; p=head; printf("1个人总分和平均分\\t2单科平均分\\t3总分最高分\\t4总分最低分\\n"); scanf("%d",&x); getchar();switch(x)\/*用switch语句实现功能选择*\/...

...和成绩。n表示学生学号,g表示学生成绩。用c语言
include<stdio.h>int main(){ int n[50], g[50]; int i; for (i = 0; i < 50; ++i){ printf ("请输入第%d个学生的学号和成绩:", i+1); scanf("%d%d", &n[i], &g[i]); } for (i = 0; i < 50; ++i){ if (g[i] >= 80){ pri...

C语言程序设计 输入学生成绩,直到输入成绩的数量超过50个或者输入的成绩...
include <stdio.h>void main(){ int i = 0, j = 0, k; double Mark[50], max, n; scanf ("%lf", &n); while (n <= 100 && n >= 0) { Mark[i++] = n; if (i >= 5) break; scanf ("%lf", &n); } k = i; max = Mark[0]; for (i = 0;...

相似回答