C语言结构体与共用体 编写程序,有10个学生,每个学生的数据包括:学号,姓名,3门课程的成绩,输

C语言结构体与共用体
编写程序,有10个学生,每个学生的数据包括:学号,姓名,3门课程的成绩,输入他们的数据。
求每个学生的平均成绩(30'),按平均成绩由高到低输出学生的姓名,学号和平均成绩(70')

第1个回答  2015-01-24
#include "stdio.h"
#include <stdlib.h>
#define SIZE 10

struct student{
char id[20];
char name[20];
int score[3];
float average;
} stud[SIZE];

void input() /* 输入学生的信息 */
{
int i;

for(i=0;i<SIZE;i++)
{
printf("第%d个学生的信息:\n",i+1);
scanf("%s%s%d%d%d",stud[i].id,stud[i].name,&stud[i].score[0],&stud[i].score[1],&stud[i].score[2]);
stud[i].average=(stud[i].score[0]+stud[i].score[1]+stud[i].score[2])/3.0;
}
}

void sort /* 按照平均分由高到低排列 */
{
int i,j;
struct student temp;

for(i=0;i<SIZE;i++)
{
for(j=0;j<SIZE-i-1;j++)
{
if(stud[j].average<stud[j+1].average)
{
temp=stud[j];
stud[j]=stud[j+1];
stud[j+1]=temp;
}
}
}

}
void output() /* 输出学生的信息 */
{
int i;

printf("\n");
for(i=0;i<SIZE;i++)
printf("%s %s %d %d %d %3.1f\n",stud[i].id,stud[i].name,stud[i].score[0],stud[i].score[1],stud[i].score[2],stud[i].average);
}

void main()
{
input();
sort();
output();

}追问

没有运行出来是怎么了?

本回答被提问者和网友采纳
相似回答