急~有一道C语言题,弄了好几天也没弄出来,后天就要交了,请高手帮帮忙.

来源:百度知道 编辑:UC知道 时间:2024/06/17 20:18:10
(用循环、数组、函数和结构体做,千万不要涉及到C++)
有10个学生,每个学生的数据包括学号、姓名、三门课的成绩、总成绩和平均成绩,从键盘输入10个学生的数据(包括学号、姓名及3门课的成绩),要求打印出每位学生的学号、姓名、三门课的成绩、总成绩和平均成绩,最后在打印出3门课的总平均成绩及最高分的学生的数据(包括姓名和总成绩)。要求:
1,根据学生信息定义一个结构体类型,再说明一个该结构体类型的数组。
2,用input函数从键盘上输入10个学生的数据。
3,用average函数求出每个学生总成绩、平均成绩和所有学生的总平均成绩。
4,用maximum函数找出最高分的学生的数据。
5,再主函数中输出每位学生的学号、姓名、三门课的成绩、总成绩和平均成绩以及总平均分和最高分学生的数据。

输出形式如下:
NO name score1 score2 score3 total average
101 wang 80 79 81 240 80.00
102 li 91 90 89 270 90.00
.
.
.
.
.
average=85.00
The highest score:li,scoretotal:270

在提醒一下千万别用C++ 里的东西编写.请高手不要复制其他的程序过来.本人就30分,请大家不要嫌少.

我帮你做吧 等会做好了联系你!

其实这种完整题目,只要是贴代码的,肯定是重复的,所谓的高手不会花时间做这个东西的,要想不重复,我资料里有联系方式

呵呵,找找教材上的例子,呵呵,我们教材上就有相似的东西

举手之劳,弄了算了。昨天刚在以前的基础上改的,和你的要求很一致。
/*
一个完整的c程序如下,功能齐全,简洁明了。程序在win-tc和tc2.0下试验通过.程序实现从键盘输入20个学生的数据(包括学号、姓名、3门课的成绩),
程序执行输出所有学生3门课的总平均成绩,最高分学生的学号、姓名、3门课的成绩、3门课平均成绩,并按平均成绩高到低排序输出
*/
# include <stdio.h>
# include <stdlib.h>
# define N 20 /*实际请更改*/
struct student
{ char num[5]; /*学号超过4位时请加长*/
char name[11]; /*实际请更改,名字不超过10字符,一个汉字2个字符*/
int score[3];
float avr;
}stu[N];

int main()
{
int i,j,k,max,maxi,sum,order[N];
float average;

/*以下为输入*/
for(i=0;i<N;i++)
{printf("\nInput scores of student %d:\n",i+1);
printf("NO.:");
scanf("%s",stu[i].num);
printf("name:");
scanf("%s",stu[i].name);
for(j=0;j<3;j++)
{printf("score %d:",j+1