新微赢技术网
标题:
[求助]怎样做到结构实现排序?--*Janlex转移
[打印本页]
作者:
ωǒ↘倫↙
时间:
2009-11-3 02:02
标题:
[求助]怎样做到结构实现排序?--*Janlex转移
输入5个学员的信息和三门课程成绩,在算出三门课的总成绩,在按总成绩排序输出
#include <stdio.h>
#define sumstu 5
void sort();
struct student
{
int stuno;//学号
char stuname[10];//姓名
float yuwen; //三科成绩
float shuxue;
float yingyu;
};
void main()
{
int i,m=0;
float sum=0;//总成绩
struct student stu[sumstu]; //因为接收的不是一个学员的信息所以用数组
printf("============请输入学员信息===========\n");
/*接收学员的信息*/
for(i=0;i<sumstu;i++)
{
printf("\n请输入第%d个学员的信息:",i+1);
printf("\n学号:");
fflush(stdin);
scanf("%d",&stu[i].stuno);
printf("姓名:");
fflush(stdin);
gets(stu[i].stuname);
printf("语文的成绩:");
fflush(stdin);
scanf("%f",&stu[i].yuwen);
printf("数学的成绩:");
fflush(stdin);
scanf("%f",&stu[i].shuxue);
printf("英语的成绩:");
fflush(stdin);
scanf("%f",&stu[i].yingyu);
sum=stu[i].yuwen+stu[i].shuxue+stu[i].yingyu;
printf("总成绩:",sum);
}
printf("学号\t姓名\t语文\t数学\t英语\t总成绩\n"); /*显示所有学员的信息*/
for(i=0;i<sumstu;i++)
{
printf("%d\t",stu[i].stuno);
printf("%s\t",stu[i].stuname);
printf("%3.2f\t",stu[i].yuwen);
printf("%3.2f\t",stu[i].shuxue);
printf("%3.2f\t",stu[i].yingyu);
printf("%3.2f\t",sum);
printf("\n");
}
}
void sort(struct student stu[5] int *p)
{
int i,j;
float temp;
for(i=0;i<5;i++)
{
for(j=0;j<4-i;j++)
{
if(*p[j]<*p[j+1])
{
temp=*p[j+1];
*p[j+1]=*p[j];
*p[j]=temp;
}
}
}
printf("按成绩排序后的学员信息如下:\n");
printf("%d\t",stu[n].stuno);
printf("%s\t",stu[n].stuname);
printf("%3.2f\t",stu[n].yuwen);
printf("%3.2f\t",stu[i].shuxue);
printf("%3.2f\t",stu[i].yingyu);
printf("%3.2f\t",sum);
printf("\n");
}
欢迎光临 新微赢技术网 (http://bbs.weiying.cn/)
Powered by Discuz! X3.2