C语言结构体的使用!简易学生成绩统计程序发布!

编写环境C-Free(很很好用的编辑器,支持中文输出,而且非常清晰)由于压缩之后还是不让上传,所以留个邮箱我给发过去。
下面进入正题:
#include <stdio.h>
struct student
{int num;
char name[30];
char sex;
float Chinese;
float Math;
float English;
}stu[4]={{2007480001,"hehe",'F',77.5,120.5,14.5},
{2007480002,"haha",'M',13.5,10.5,1190.5},
{2007480003,"dede",'F',10.5,90.5,119.5},{}};
void main()
{
 printf("********全班最好成绩*********\n\n");
if ((stu[1].Chinese+stu[1].Math+stu[1].English)>(stu[2].Chinese+stu[2].Math+stu[2].English))
    stu[4]=stu[1];
 else
    stu[4]=stu[2];

 if ((stu[0].Chinese+stu[0].Math+stu[0].English)>(stu[4].Chinese+stu[4].Math+stu[4].English))
    printf("第一名是 %s",stu[0].name);
 else
    printf("第一名是 %s\n\n",stu[4].name);


 printf("********及格情况*********\n\n");

int j,c=0,m=0,e=0;

  for(int i=0;i<3;i++)
     {if(stu[i].Chinese<60)
      {++c;}
      if(stu[i].Math<60)
      {++m;}
      if(stu[i].English<60)
      {++e;}
     }
printf("语文不及格的人数有%d个。\n数学不及格的有%d个。\n英语不及格的有%d个.\n\n",c,m,e);
float k,q,p;
    k=c/3.0f*100;
    q=m/3.0f*100;
    p=e/3.0f*100;
printf("\n语文不及格的人数占%f%%。\n数学不及格的占%f%%。\n英语不及格的占%f%%.\n\n",k,q,p);

printf("********个人成绩数据*********\n\n");


printf("姓名:%s 总分:%f 平均分:%f\n",stu[0].name,(stu[0].Chinese+stu[0].Math+stu[0].English),(stu[0].Chinese+stu[0].Math+stu[0].English)/3.0);
printf("姓名:%s 总分:%f 平均分:%f\n",stu[1].name,(stu[1].Chinese+stu[1].Math+stu[1].English),(stu[1].Chinese+stu[1].Math+stu[1].English)/3.0);
printf("姓名:%s 总分:%f 平均分:%f\n",stu[2].name,(stu[2].Chinese+stu[2].Math+stu[2].English),(stu[2].Chinese+stu[2].Math+stu[2].English)/3.0);
}


如果你想更复杂一点,可以把初定义去了,手写输入数据。
只要用链表插入数据就可以,我这里就省了。
总之可以做的复杂一点。挺实用的。













posted on 2008-06-19 19:41  俱正Steven  阅读(4284)  评论(6编辑  收藏  举报

导航