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

C语言结构体与共用体编写程序,有10个学生,每个学生的数据包括:学号,姓名,3门课程的成绩,输入他们的数据。求每个学生的平均成绩(30'),按平均成绩由高到低输出学生的姓... C语言结构体与共用体
编写程序,有10个学生,每个学生的数据包括:学号,姓名,3门课程的成绩,输入他们的数据。
求每个学生的平均成绩(30'),按平均成绩由高到低输出学生的姓名,学号和平均成绩(70')
展开
 我来答
百度网友4e5e918
2015-01-24
知道答主
回答量:26
采纳率:100%
帮助的人:16.8万
展开全部
#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();

}
追问
没有运行出来是怎么了?
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式