C语言 编程!!!二、实验题目: 有10个学生,每个学生的数据包括学号,姓名,及三门课成绩,总,平均。

二、实验题目:
有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,score total:270
四:实验用仪器设备、器材或软件环境:
TC2.0
五:实验原理及设计方案:
利用结构体、函数的调用和指针的传输。定义一个结构体,定义一个主函数,;定义一个input函数;定义一个average函数;定义一个maximum函数;然后,主函数进行调用,得到数据。
六:程序流程图:有结果的截图是最好的!!会追加分的!!!你可以直接联系我,急求啊。我这有几分做好的不知道对不对。448040079!!!

#include(stdio.h)

float score[4];

}person[10];

int i;

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

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程序通常由头文件和定义文件组成。头文件作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明,而定义文件用于保存程序的实现。

不像 COBOL、Fortran 和 PL/I等编程语言,在 C 语言的工作任务里不会包含嵌入的关键字,所以几乎所有的 C 语言程序都是由标准函数库的函数来创建的。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-24
自己多思考、所练习嘛,别老是百度。
不过还是帮帮你
# include<stdio.h>
# define N 10
struct student
{
int num;
char name[20];
float score[3];
float total;
float aver;
} ;

void main()
{ void input(struct student s[]);
void sort(struct student s[]);
void print(struct student s[]);
struct student stu[N],* p=stu;
input(p);
sort(p);
print(p);
}

void input(struct student s[])
{ int i;
printf("please enter num,name and 3 scores:\n");
for(i=0;i<N;i++)
{
scanf("%d %s %f %f %f",&s[i].num,s[i].name,&s[i].score[0],&s[i].score[1],&s[i].score[2]);
s[i].total=s[i].score[0]+s[i].score[1]+s[i].score[2];
s[i].aver=(s[i].score[0]+s[i].score[1]+s[i].score[2])/3.0;
}
}

void sort(struct student s[])
{
struct student t;
int i,j,k;
for(i=0;i<N-1;i++)
{k=i;
for(j=i+1;j<N;j++)
if(s[j].aver>s[k].aver) k=j;
t=s[k];s[k]=s[i];s[i]=t;
}
}

void print(struct student s[])
{ int i;
printf("the sorted result is:\n");
printf(" num name score1 score2 score3 total aver\n");
for(i=0;i<N;i++)
printf("%5d %-9s %-6.1f %-6.1f %-6.1f %-6.1f %-6.1f\n",s[i].num,s[i].name,s[i].score[0],s[i].score[1],s[i].score[2],s[i].total,s[i].aver);
}本回答被提问者采纳
相似回答