学生试卷分数统计c语言作业,C语言案例 学生试卷分数统计.docx

#include

#include

#define SIZE 300

typedef struct

{

int num;

int score[3];

}STUDENT;

typedef enum//

{

False,True

}FLAG;

int accept_data(STUDENT stu[],int grade[]);

void show_data(STUDENT stu[],int sum,int grade[]);

void draw(int grade[]);

void count(int *max,int *min,double *pass,double ave[],double f[],STUDENT stu[],int sum);

void show_data2(int max,int min,double pass,double ave[],double f[]);

int main()

{

int sum,max,min;//

double pass=0;//

int grade[11]={0};//

STUDENT stu[SIZE];

double ave[SIZE],f[SIZE];

sum=accept_data(stu,grade);

show_data(stu,sum,grade);

draw(grade);

count(&max,&min,&pass,ave,f,stu,sum);//

show_data2(max,min,pass,ave,f);

return 0;

}

accept_data(STUDENT stu[],int grade[])

{

int i,sum=0,temp,a1,a2;

FLAG flag;

printf("请输入计算总评成绩时平时成绩与期末成绩所占的比例,用整数表示: ");

scanf("%d%d",&a1,&a2);

for(i=0;i

{

printf("\n请输入学号:");

scanf("%d",&stu[i].num);

if(stu[i].num==-1)//'==' not'='

{

sum=i;

break;//

}

printf("\n请输入学生的平时成绩与期末成绩:");

flag=True;//

while(flag==True)

{

scanf("%d%d",&stu[i].score[0],&stu[i].score[1]);

if(stu[i].score[0]<=100 && stu[i].score[0]>=0 && \

stu[i].score[1]<=100 && stu[i].score[1]>=0)

flag=False;//

else

printf("\n\007 错误数据!请再次输入学生的平时成绩与期末成绩:\n");

}

temp=(int)(1.0*a1/100*stu[i].score[0] 1.0*a2/100*stu[i].score[1]);//

stu[i].score[2]=temp;//score[2] not score[3]

temp=(stu[i].score[1]/10);

if(temp==10)

grade[10] ;

else

grade[temp 1] ;//

}

return sum;

}

void show_data(STUDENT stu[],int sum,int grade[])

{

int i,j;

for(i=0;i

{

printf("M",stu[i].num);//

for(j=0;j<3;j )//

printf("M",stu[i].score[j]);

printf("\n");

}

for(i=1;i<=10;i )// i的范围要弄清楚

printf("M",grade[i]);

printf("\n");

}

void count(int *max,int *min,double *pass,double ave[],double f[],STUDENT stu[],int sum)//

{

int i,j,p_sum=0;//p_sum为期末成绩及格的总人数

int total[3]={0};//平时成绩,期末,总评成绩的初始值设为0

double temp;//存储平时成绩与平均平时成绩的差,期末成绩与期末平均成绩的差,总评成绩与总评平均的差

*max=

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值