当前位置: 代码迷 >> C语言 >> [求助]一个简单的学生统计,请帮忙改下
  详细解决方案

[求助]一个简单的学生统计,请帮忙改下

热度:104   发布时间:2006-07-12 13:29:23.0
[求助]一个简单的学生统计,请帮忙改下

/*定义一个学生结构,用于描述学生的姓名,性别,考分(三门成绩),学号。
现在有五个同学的信息,请完成输入,并且(1)按学号(由小到大)排序(2)按总分,
由小到大排序 。用函数实现上述功能,并且注意结构数组作参的情形*/
#include <stdio.h>
#define N 5
struct stuData
{
int num; //学号
char gender; //性别
char name[15]; //姓名
float score[3]; //三门课成绩
} stu [N];
void sort(); //排序功能
void main()
{
int i;
struct stuData stu1;
printf("请输入学生的相关信息\n");
printf("学号 姓名 性别 成绩\n");
for(i=0;i<5;i++)
{
scanf("%d%s %c%f",&stu[i].num,stu[i].name,&stu[i].gender,&stu[i].score);
}
printf("学号 姓名 性别 成绩\n");
sort();
for(i=0;i<5;i++)
{

printf("%d\t%s\t %c\t%.2f",stu[i].num,stu[i].name,stu[i].gender,stu[i].score);
}
}

void sort() //此函数用来排序
{
struct stuData temp;
int i, j;

//冒泡法排序
for (i = 0; i < N - 1; i++)
{
for (j = 0; j < N - 1 - i; j++)
{
if (stu[j].num < stu[j+1].num) //将数组里的信息结构按学号排序
{
temp = stu[j];
stu[j] = stu[j + 1];
stu[j + 1] = temp;
}
}
}
}

不知道哪里不对了

[此贴子已经被作者于2006-7-12 13:42:12编辑过]

搜索更多相关的解决方案: 学生  统计  

----------------解决方案--------------------------------------------------------
  相关解决方案