学生成绩统计.c

来自「设计一个程序」· C语言 代码 · 共 51 行

C
51
字号
#include <stdio.h>
struct student
{
int num;
float score[4];
float ave;
float s;
}stu[35];

input()
{
int i,j,sum=0;
for(i=0;i<35;i++)
	{
	printf("input scores of student&d\n",i+1);
	printf("NO.");
	scanf("%d",&stu[i].num);
	for(j=0;j<4;j++)
		{
		printf("score%d:",j+1);
		scanf("%f",&stu[i].score[j]);
		sum+=stu[i].score[j];
		}
	stu[i].s=sum;
	stu[i].ave=sum/3.0;
	}
}

main()
{
FILE *fp;
int i,j;
struct student min,*p[35];
input();
for(i=0;i<35;i++)
	p[i]=&stu[i];
for(i=0;i<35;i++)
	for(j=i;j<35;j++)
		if(stu[i].s<stu[j].s)
			min=stu[i],stu[i]=stu[j],stu[j]=min;

printf(" num	score1	score2	score3	score4	ave	s\n");
for(i=0;i<=35;i++)
	printf("%3d	%f	%f	%f	%f	%f	%f\n",p[i]->num,p[i]->score[0],p[i]->score[1],p[i]->score[2],p[i]->score[3],p[i]->ave,p[i]->s);

fp=fopen("stud.dat","w");
for(i=0;i<35;i++)
	fwrite(&stu[i],sizeof(struct student),1,fp);
fclose(fp);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?