c 实现学生成绩管理

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<malloc.h>
#include<time.h>

struct Score
{

 int english;
 int math;
 int chinese;
};

void main()

{
 
  int n=0;
  printf("input a number\n");
  scanf("%d",&n);
  Score *sco=(Score *)malloc(n*sizeof(Score));
  int i;
  srand(time(0));
  for( i=0;i<n;i++)
  {
    
  sco[i].chinese=rand()%101;
  sco[i].english=rand()%101;
  sco[i].math=rand()%101;


  }
  printf("All the score bellow\n");
  printf("ID\t语文\t英语\t数学\n");
  for( i=0;i<n;i++)
   printf("%d\t%d\t%d\t%d\n",i+1,sco[i].chinese,sco[i].english,sco[i].math);
 
 

 
  int max=0;
  int m=0;
   for(i=0;i<n;i++)
   {
   
    int temp=sco[i].chinese+sco[i].english+sco[i].math;
    if(temp>max)
    {
     max=temp;
     m=i;
    }
   
   }
  
   printf("the higest score is %d\n the student number is %d\n",max,m+1);
   printf("input a num(1,2,3)to select\n");
   int sec;
   scanf("%d",&sec);
 
 
 
  switch(sec)
   {

   case 1:
    {
     float chin=0;
     for(i=0;i<n;i++)
              chin=chin+sco[i].chinese;
     printf("the average of chinese score %f\n",chin/n);
    }
    break;
   case 2:
    {
     float eng=0;
     for(i=0;i<n;i++)
      eng=eng+sco[i].english;
     printf("the average of english score %f\n",eng/n);
    }
    break;
   case 3:
    {
     float mat=0;
     for(i=0;i<n;i++)
      mat=mat+sco[i].math;
     printf("the average of math score %f\n",mat/n);
    }
    break;
   default:
    printf("error input\n");
    break;

   }
  
 return ;
}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值