
C语言 期末大作业
完成学生成绩管理程序系统设计,主要功能要求如下:输入某班学生成绩档案资料(不低于10人),资料内容包括学号(4位整数),三门课程成绩(百分制整数)。计算该班三门课程成绩的...
完成学生成绩管理程序系统设计,主要功能要求如下:
输入某班学生成绩档案资料(不低于10人),资料内容包括学号(4位整数),三门课程成绩(百分制整数)。
计算该班三门课程成绩的平均分(float数据类型)。
计算每位同学的平均分(int数据类型)。
按每位学生的平均分从高到低为学生档案资料排序。
输出2),3),4)三部分的处理结果。 展开
输入某班学生成绩档案资料(不低于10人),资料内容包括学号(4位整数),三门课程成绩(百分制整数)。
计算该班三门课程成绩的平均分(float数据类型)。
计算每位同学的平均分(int数据类型)。
按每位学生的平均分从高到低为学生档案资料排序。
输出2),3),4)三部分的处理结果。 展开
3个回答
展开全部
给你做好了,有问题可以在找我
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define N 12
FILE *fi;
struct student
{
int num;
char name[8];
int yuwen;
int shuxue;
int yingyu;
}st[N];
void main()
{
struct student t;
int i,j;
char* s="学号 姓名 语文 数学 英语 总分 平均分\n";
double avr[N],sum[N];
for(i=0;i<N;i++)
sum[i]=0;
printf("输入%d 学生信息\n",N);
printf("**************************************************\n");
printf("学号 姓名 语文 数学 英语\n");
for(i=0;i<N;i++)
scanf("%d%s%d%d%d%d",&st[i].num,st[i].name,&st[i].yuwen,&st[i].shuxue,&st[i].yingyu);
if((fi=fopen("d:\\student.txt","w"))==NULL)
{
printf("文件无法打开\n");
exit(1);
}
for(i=0;i<N;i++)
fprintf(fi,"%d %s %d %d %d %d\n",st[i].num,st[i].name,st[i].yuwen,st[i].shuxue,st[i].yingyu);
fclose(fi);
//将文件进行保存
printf("学号 姓名 平均分 总分\n");
for(i=0;i<N;i++)
{
sum[i]=st[i].yuwen+st[i].shuxue+st[i].yingyu;
avr[i]=(st[i].yuwen+st[i].shuxue+st[i].yingyu)/3.0;
printf("%d %s %.2lf %.2lf",st[i].num,st[i].name,avr[i],sum[i]);
printf("\n");
}
printf("按总成绩排序如下\n");
printf("**************************************************\n");
for(i=0;i<N-1;i++)
for(j=0;j<N-i-1;j++)
if(sum[j]<=sum[j+1])
{
t=st[j];
st[j]=st[j+1];
st[j+1]=t;
}
printf("学号 姓名 语文 数学 英语 总成绩\n\n");
for(i=0;i<N;i++)
printf("%d %s %d %d %d %d %.2lf\n",st[i].num,st[i].name,st[i].yuwen,st[i].shuxue,st[i].yingyu,sum[i]);
for(i=0;i<N;i++)
{
sum[i]=st[i].yuwen+st[i].shuxue+st[i].yingyu;
avr[i]=(st[i].yuwen+st[i].shuxue+st[i].yingyu)/3.0;
}
//再次打开文件将学生的成绩按总成绩的高低进行排序输出到文件保存
if((fi=fopen("d:\\student.txt","w"))==NULL)
{
printf("文件无法打开\n");
exit(1);
}
fputs(s,fi);
for(i=0;i<N;i++)
fprintf(fi,"%d %s %d %d %d %d %.2lf %.2lf\n",st[i].num,st[i].name,st[i].yuwen,st[i].shuxue,st[i].yingyu,sum[i],avr[i]);
fclose(fi);
getchar();
}
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define N 12
FILE *fi;
struct student
{
int num;
char name[8];
int yuwen;
int shuxue;
int yingyu;
}st[N];
void main()
{
struct student t;
int i,j;
char* s="学号 姓名 语文 数学 英语 总分 平均分\n";
double avr[N],sum[N];
for(i=0;i<N;i++)
sum[i]=0;
printf("输入%d 学生信息\n",N);
printf("**************************************************\n");
printf("学号 姓名 语文 数学 英语\n");
for(i=0;i<N;i++)
scanf("%d%s%d%d%d%d",&st[i].num,st[i].name,&st[i].yuwen,&st[i].shuxue,&st[i].yingyu);
if((fi=fopen("d:\\student.txt","w"))==NULL)
{
printf("文件无法打开\n");
exit(1);
}
for(i=0;i<N;i++)
fprintf(fi,"%d %s %d %d %d %d\n",st[i].num,st[i].name,st[i].yuwen,st[i].shuxue,st[i].yingyu);
fclose(fi);
//将文件进行保存
printf("学号 姓名 平均分 总分\n");
for(i=0;i<N;i++)
{
sum[i]=st[i].yuwen+st[i].shuxue+st[i].yingyu;
avr[i]=(st[i].yuwen+st[i].shuxue+st[i].yingyu)/3.0;
printf("%d %s %.2lf %.2lf",st[i].num,st[i].name,avr[i],sum[i]);
printf("\n");
}
printf("按总成绩排序如下\n");
printf("**************************************************\n");
for(i=0;i<N-1;i++)
for(j=0;j<N-i-1;j++)
if(sum[j]<=sum[j+1])
{
t=st[j];
st[j]=st[j+1];
st[j+1]=t;
}
printf("学号 姓名 语文 数学 英语 总成绩\n\n");
for(i=0;i<N;i++)
printf("%d %s %d %d %d %d %.2lf\n",st[i].num,st[i].name,st[i].yuwen,st[i].shuxue,st[i].yingyu,sum[i]);
for(i=0;i<N;i++)
{
sum[i]=st[i].yuwen+st[i].shuxue+st[i].yingyu;
avr[i]=(st[i].yuwen+st[i].shuxue+st[i].yingyu)/3.0;
}
//再次打开文件将学生的成绩按总成绩的高低进行排序输出到文件保存
if((fi=fopen("d:\\student.txt","w"))==NULL)
{
printf("文件无法打开\n");
exit(1);
}
fputs(s,fi);
for(i=0;i<N;i++)
fprintf(fi,"%d %s %d %d %d %d %.2lf %.2lf\n",st[i].num,st[i].name,st[i].yuwen,st[i].shuxue,st[i].yingyu,sum[i],avr[i]);
fclose(fi);
getchar();
}

2025-10-12 广告
作业指导书(SOP)是通过标准化文件形式对具体操作流程的详细描述,旨在确保工作的一致性和可重复性。其核心价值包括:减少人为误差:通过量化操作步骤(如设备参数、时间节点)降低执行偏差知识沉淀:将隐性经验转化为显性文档,便于新员工快速掌握关键技...
点击进入详情页
本回答由兴亿达提供
展开全部
前两个直接有函数可以调用,最后一个要编程!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询