求助C语言课程设计,必有重谢

来源:百度知道 编辑:UC知道 时间:2024/06/27 23:27:56
从键盘输入几位同学,每名有学号(整型),姓名(字符串),数学成绩(整型),外语成绩(整型)和计算机成绩(整型)三门课程,计算每名学生的总成绩,然后按总成绩由高到低排序.若总成绩相同,按外语成绩由高到低排序,把排序后的结果输出.
要求.1.利用结构体数组存放数据
2.通过函数调用方式.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct stu
{
int id;//学号
char name[20];//姓名
float math;//数学成绩
float eng;//英文成绩
float comp;//计算机成绩
float total;//总成绩
}*lstu;

//输入每个人的数据
//n为学生人数,tmp为基址
void input( lstu &tmp, int n )
{
char stmp[20];
int i = 0;
while ( i < n )
{
printf( "输入学生%d的学号:", i+1 );
scanf( "%d", &(tmp[i].id) );
getchar();
printf( "输入学生%d的姓名:", i+1 );

gets( tmp[i].name );
printf( "输入学生%d的数学成绩:", i+1 );
scanf( "%f", &(tmp[i].math) );
printf( "输入学生%d的英文成绩:", i+1 );
scanf( "%f", &(tmp[i].eng) );
printf( "输入学生%d的计算机成绩:", i+1 );
scanf( "%f", &(tmp[