有10个学生,每个学生数据包括学号,姓名、3门课程的成绩,从键盘输入10个学生的数据,要求输出学生3门课总

有10个学生,每个学生数据包括学号,姓名、3门课程的成绩,从键盘输入10个学生的数据,要求输出学生3门课总平均成绩,以及最高分的学生的数据

#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 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 sortput() /* 排序输出最高分的学生信息 */
{
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;
}
}
}
printf("\n%s %s %d %d %d %3.1f\n",stud[0].id,stud[0].name,stud[0].score[0],stud[0].score[1],stud[0].score[2],stud[0].average);
}

void main()
{
input();
output();
sortput();
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-07-23

#include(stdio.h)

main()

{struct student

{long number;

char name[20];

float score[4];

}person[10];

int i;

printf("请输入10名学生的学号、姓名、及三门成绩:");

for(i=0;i<10;i++)

scanf("%d,%s,%d,%d,%d",&person[i]->number,person[i]->name,&person->score[0],&person->score[1],&person->score[2]);

for(i=0,i<10;i++)

person->score[3]=(person->score[0]+person->score[1]+person->score[2])/3;

printf("10名同学的情况如下:\n");

for(i=0;i<10;i++)

printf("学号:%d 姓名:%s 成绩:%d %d %d 平均成绩:%d\n",person[i]->number,person[i]->name[20],person->score[0],person->score[1],person->score[2],person->score[3]);

拓展资料

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。