教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 公文资料 >

C语言作业 课程统计表 成绩表

来源:网络收集 时间:2025-10-08
导读: 课程统计表,成绩表,输出选择成绩,教辅 #include stdio.h #include math.h #include stdlib.h struct student { int num; char name[10]; int score[5]; float average; int order; }stu[25]; struct course { int num; char name[20]; float xuefen; float c

课程统计表,成绩表,输出选择成绩,教辅

#include <stdio.h>

#include <math.h>

#include <stdlib.h>

struct student

{

int num;

char name[10];

int score[5];

float average;

int order;

}stu[25];

struct course

{

int num;

char name[20];

float xuefen;

float couaverage;

float BZC;

int tongji[5];

}course[5];

/*读数据*/

void readdata()

{ char title[100];

int i;

FILE *fp,*fq;

if((fp=fopen("c:\\HG1070401.txt","r"))==NULL)

{

printf("文件c:\\HG1070401.txt未打开");

return;

}

fgets(title,100,fp);

puts(title);

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

{

fscanf(fp,"%d%s",&stu[i].num,stu[i].name);

printf("%2d%10s",stu[i].num,stu[i].name);

for(int j=0;j<5;j++)

{

fscanf(fp,"%d",&stu[i].score[j]);

printf("%7d",stu[i].score[j]);

课程统计表,成绩表,输出选择成绩,教辅

}

printf("\n");

} fclose(fp);

if((fq=fopen("c:\\HG0704.txt","r"))==NULL)

{

printf("文件c:\\HG0704.txt未打开");

return;

}

fgets(title,100,fq);

puts(title);

for(int k=0;k<5;k++)

{

fscanf(fq,"%d%s%f",&course[k].num,course[k].name,&course[k].xuefen);

printf("%d%12s%18f",course[k].num,course[k].name,course[k].xuefen);

printf("\n");

}

fclose(fq);

}

/*求每个学生的加权平均分*/

void jqave()

{

int i,j;

float s=0,sum;

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

s+=course[i].xuefen;

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

{

sum=0;

for(j=0;j<5;j++)

sum+=stu[i].score[j]*course[j].xuefen;

stu[i].average=(int)(sum*10.0/s+0.5)/10.0;

}

}

/*排名*/

void paiming()

{

int i,j;

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

{

课程统计表,成绩表,输出选择成绩,教辅

} stu[i].order=1; for( j=0;j<25;j++) { if(stu[i].average<stu[j].average) stu[i].order++; } }

/*写成绩表*/

void chengjibiao()

{

printf("文件cjb已写入C盘\n"); FILE *fp; int i,j; if((fp=fopen("c:\\cjb.txt","w"))==NULL) { printf("Faile to build a new file!\n"); exit(0); }

fprintf(fp,"名次学号姓名物理 C语言数学化学英语加权平均分\n");

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

{

fprintf(fp,"%2d%6d%10s",stu[i].order,stu[i].num,stu[i].name);

for( j=0;j<5;j++)

{

fprintf(fp,"%9d",stu[i].score[j]);

}

fprintf(fp," %-6.1f\n",stu[i].average);

}

fclose(fp);

}

/*求课程平均分*/

void courseavr()

{

int i,j,k;

for(k=0;k<5;k++)

{

float s=0;

课程统计表,成绩表,输出选择成绩,教辅

for(j=0;j<24;j++)

s+=stu[j].score[k];

course[k].couaverage=s/25;

}

printf("每门课程的平均分为:\n");

printf(" 物理 C语言数学化学英语\n");

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

printf("%6.2f ",course[i].couaverage);

printf("\n");

}

/*求课程标准差*/

void courseBZC()

{

printf("每门课程标准差的结果为:\n");

printf(" 物理 C语言数学化学英语\n");

float sum;

int i,j;

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

{

sum=0;

for(j=0;j<25;j++)

sum+=(stu[j].score[i]-course[i].couaverage)*(stu[j].score[i]-course[i].couaverage); course[i].BZC=sqrt(sum/25);

}

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

printf("%6.3f ",course[i].BZC);

printf("\n");

}

/*求各分数段的学生人数*/

void tongji()

{

int i,j;

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

{

for(j=0;j<25;j++)

if(stu[j].score[i]>=90) course[i].tongji[0]++;

else if(stu[j].score[i]>=80&&stu[j].score[i]<90) course[i].tongji[1]++;

else if(stu[j].score[i]>=70&&stu[j].score[i]<80) course[i].tongji[2]++;

else if(stu[j].score[i]>=60&&stu[j].score[i]<70) course[i].tongji[3]++;

else course[i].tongji[4]++;

}

printf("编号课程名称优秀良好中等及格不及格\n");

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

{

课程统计表,成绩表,输出选择成绩,教辅

printf("%d%12s",course[i].num,course[i].name);

printf(" %8d %6d %4d %3d %3d\n",course[i].tongji[0],course[i].tongji[1],course[i].tongji[2],course[i].tongji[3],course[i].tongji[4]);

}

}

/*创建数据文件*/

void chengjitongji()

{

printf("文件KEC07已创建\n");

FILE *fp;

int i;

if((fp=fopen("c:\\KEC07.txt","w"))==NULL)

{

printf("Faile to build a new file!\n");

exit(0);

}

fprintf(fp,"编号课程名称课程平均分标准差优秀良好中等及格不及格\n");

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

{

fprintf(fp,"%d%12s",course[i].num,course[i].name);

fprintf(fp,"% 18.2f %10.3f",course[i].couaverage,course[i].BZC);

fprintf(fp," %8d %4d %4d %4d %4d\n",course[i].tongji[0],course[i].tongji[1],course[i].tongji[2],course[i].tongji[3],course[i].tongji[4]);

}

fclose(fp);

}

/*打印学生成绩条*/

void CJT()

{

FILE *fp;

int i;

if((fp=fopen("c:\\CJT0704.txt","w"))==NULL)

{

printf("Faile to build a new file!\n");

exit(0);

}

int k;

printf("请输入查找学生的学号(1-25):\n");

scanf("%d",&k);

fprintf(fp,"名次学号姓名物理 C …… 此处隐藏:4211字,全部文档内容请下载后查看。喜欢就下载吧 ……

C语言作业 课程统计表 成绩表.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/2179520.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)