简单处理5位学生的数据

来源:互联网 发布:酷炫的js效果 编辑:程序博客网 时间:2024/05/16 19:35

 #include "stdafx.h"
#include<stdio.h>
#include<string.h>
struct STU
{
 int num;
 char name[10];
 int score[3];
 float avg;
}student[5];

int _tmain(int argc, _TCHAR* argv[])
{
 int i,j,temp;
 char namet[10];
 printf("请录入5位学生的数据,对应是学号,姓名和三门成绩:/n");
 for(i=0;i<5;i++)     //数据的输入
 {
  scanf("%d%s",&student[i].num,&student[i].name);
  student[i].avg=0;
  for(j=0;j<3;j++)
  {
   scanf("%d",&student[i].score[j]);
   student[i].avg+=student[i].score[j];
  }
  student[i].avg/=3;
 }
//进行输出
 printf("/n-----------------------------------------------------/n");
 printf("以下是您输入的学生数据:/n");
 printf("-----------------------------------------------------/n");
 for (i=0;i<5;i++)
 {
  printf("学号:%-5d姓名:%-10s",student[i].num,student[i].name);
  printf("三门成绩分别是:%-4d%-4d%-4d/n",student[i].score[0],student[i].score[1],student[i].score[2]);
 }
 for(j=1;j<5;j++)    //按学生的平均成绩进行从大到小的顺序
  for(i=5-j;i>=0;i--)
   if(student[i].avg<student[i+1].avg)
   {
    temp=student[i].avg;
    student[i].avg=student[i+1].avg;
    student[i+1].avg=temp;
    strcpy(namet,student[i].name);
    strcpy(student[i].name,student[i+1].name);
    strcpy(student[i+1].name,namet);
   }
 //对前3的学生数据进行输出
 printf("/n-----------------------------------------------------/n");
    printf("平均分在前3名的学生分别是:/n");
 printf("-----------------------------------------------------/n");
 for(i=0;i<3;i++)
  printf("%-10s平均分:%.2f/n",student[i].name,student[i].avg);
 return 0;
}

原创粉丝点击