
//例如:
//001 赵日天 95 88 92
//002 刘斩仙 59 62 73
#include <stdio.h>
#include <stdlib.h>
typedef struct
{
char num[8]
char name[10]
int cgrade
int mgrade
int physics
float ave
} STUDENT
int main()
{
STUDENT s[50]
int count=0
FILE *fp
char buf[100]
if((fp=fopen("d:\\1.txt","r"))==NULL)
{
printf("Open file falied!")
return -1
}
while(!feof(fp))
{
fgets(buf,100,fp)
sscanf(buf,"%s %s %d %d %d",s[count].num,s[count].name,&s[count].cgrade,&s[count].mgrade,&s[count].physics)
s[count].ave=(s[count].cgrade+s[count].mgrade+s[count].physics)/3.0
count++
}
fclose(fp)
printf("共有%d人\n",count)
int i,j
for(i=0i<counti++)
{
printf("%-5s %-6s %-3d %-3d %-3d %-5.2f\n\n",s[i].num,s[i].name,s[i].cgrade,s[i].mgrade,s[i].physics,s[i].ave)
}
int max[3]={0,0,0}, min[3]={100,100,100}, sum[3]={0,0,0}
float ave[3]={0.0}
int good[3]={0,0,0}, pass[3]={0,0,0}, unpass[3]={0,0,0}
for(i=0i<counti++)
{
sum[0]+=s[i].cgrade
sum[1]+=s[i].mgrade
sum[2]+=s[i].physics
if(max[0]<s[i].cgrade) max[0]=s[i].cgrade
if(max[1]<s[i].mgrade) max[1]=s[i].mgrade
if(max[2]<s[i].physics) max[2]=s[i].physics
if(min[0]>s[i].cgrade) min[0]=s[i].cgrade
if(min[1]>s[i].mgrade) min[1]=s[i].mgrade
if(min[2]>s[i].physics) min[2]=s[i].physics
if(s[i].cgrade>=90) good[0]++
else if(s[i].cgrade>=60) pass[0]++
else unpass[0]++
if(s[i].mgrade>=90) good[1]++
else if(s[i].mgrade>=60) pass[1]++
else unpass[1]++
if(s[i].physics>=90) good[2]++
else if(s[i].mgrade>=60) pass[2]++
else unpass[2]++
}
ave[0]=(float)sum[0]/(float)count
ave[1]=(float)sum[1]/(float)count
ave[2]=(float)sum[2]/(float)count
printf("\nC语言成绩:\n")
printf("最高分: %d 最低分: %d 平均分: %.2f",max[0],min[0],ave[0])
printf("\n优秀: %d 及格: %d 不及格: %d",good[0],pass[0],unpass[0])
printf("\n\n数学成绩:\n")
printf("最高分: %d 最低分: %d 平均分: %.2f",max[1],min[1],ave[1])
printf("\n优秀: %d 及格: %d 不及格: %d",good[1],pass[1],unpass[1])
printf("\n\n物理成绩:\n")
printf("最高分: %d 最低分: %d 平均分: %.2f",max[2],min[2],ave[2])
printf("\n优秀: %d 及格: %d 不及格: %d",good[2],pass[2],unpass[2])
int* all_score
all_score=(int*)malloc(sizeof(int)*count)
for(i=0i<counti++)
{
all_score[i]=s[i].cgrade+s[i].mgrade+s[i].physics
}
//排序
int t
for(i=0i<count-1i++)
{
for(j=0j<count-1-ij++)
{
if(all_score[i]<all_score[i+1])
{
i=all_score[i]
all_score[i]=all_score[i+1]
all_score[i+1]=i
}
}
}
printf("\n总成绩最高到低为:\n")
for(i=0i<counti++)
{
printf("%d ",all_score[i])
}
return 0
}
什么是C语言?C语言的简介。C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。
它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。
语言特点:C是中级语言/C是结构式语言/C语言功能齐全/C语言适用范围大/简洁紧凑、灵活方便/运算符丰富/数据类型丰富/C是结构式语言/语法限制不太严格,程序设计自由度大/适用范围大,可移植性好。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)