设计目的:通过课程设计使学生全面掌握C语言的语法及编程技巧
程序功能:1。完成班级学生信息的录入,学生信息包括:学号,姓名。四门课成绩。
2。求出每名学生总分
3。对学生成绩按总分进行排序
4。输出本班成绩表
我急求答案 谢谢各位了
 2007-01-07 21:04
	    2007-01-07 21:04
   2007-01-07 22:05
	    2007-01-07 22:05
  [CODE]/*
*学生成绩管理
*/
#include <stdio.h>
#include <stdlib.h>
#define SIZE_NAME 10    /*中国人的名字应该不会超过5个字吧 ?不够再加*/
#define SIZE_CLASS 4
#define SIZE_STD 100    /*一个班不会超过100人吧?*/
struct data
{
    long int id;
    char name[SIZE_NAME];
    int scor[SIZE_CLASS];
    int totall;
};
typedef struct data Student;
Student student[SIZE_STD];
void scandata (int);
void compare (int);
void printdata (int);
int main()
{
    int std_num;    /*学生人数*/
    scanf ("%d", &std_num);
    scandata (std_num);
    compare (std_num);
    printdata (std_num);
    return 0;
}
/*define scandata**********************************************************/
void scandata (int num)
{
    int i, j;
    for (i = 0; i <= num - 1; i++)
    {
        scanf ("%ld", &student[i].id);
        scanf ("%s", student[i].name);
        for (j = 0; j <= SIZE_CLASS - 1; j++)
        {
            scanf ("%d", &student[i].scor[j]);
            student[i].totall += student[i].scor[j];                         /*计算总成绩*/
        }
    }
    return ;
}
/*define compare**********************************************************/
void compare (int num)
{
    int i, j, hold;
    for (i = 0; i <= num - 1; i++)
    {
        for (j = 0; j <= num - 2; j++)
        {
            if (student[j].totall > student[j + 1].totall)
            {
                hold = student[j + 1].totall;
                student[j + 1].totall = student[j].totall;
                student[j].totall = hold;
            }
        }
    }
    return ;
}
/*define printdata**********************************************************/
void printdata (int num)
{
    int i;
    for (i = num - 1; i >= 0; i--)
    {
        printf ("%ld ", student[i].id);
        printf ("%s ", student[i].name);
        printf ("%d\n", student[i].totall);
    }
    return ;
}[/CODE]
[此贴子已经被作者于2007-1-8 19:12:14编辑过]

 2007-01-08 19:11
	    2007-01-08 19:11