设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 308|回复: 0
打印 上一主题 下一主题

[求助]怎样做到结构实现排序?--*Janlex转移

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-3 02:02:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
输入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");
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 03:26 , Processed in 0.106838 second(s), 9 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表