您的位置:首页 > 其它

假设一个班级有5个人,每个人都会有一些共有的信息:姓名 学号 年龄 分数。从终端输入每个人的信息,然后按照分数从高到低排序,将信息打印到终端上。

2017-07-16 17:03 579 查看
#include<stdio.h>
struct A
{
char name[10];
char num[10];
int score;
};
void input_info(struct A *p)
{
int i;
for(i=0; i<3; i++)
{
printf("姓名");
gets((p+i)->name);
printf("学号");
gets((p+i)->num);
printf("成绩");
scanf("%d",&((p+i)->score));
getchar();
}
}
void sort_info(struct A *q)
{
int i,j;
struct A temp;
struct A * max;
int index;
for(i=0; i<2; i++)
{
max=(q+i);
index=i;
for(j=i+1; j<3; j++)
{
if(((q+j)->score)>(max->score));
{
max=(q+j);
index=j;
}
}
temp=*(q+i);
*(q+i)=*(q+index);
*(q+index)=temp;
}
}
void output_info(struct A *p)
{
int i;
for(i=0; i<3; i++)
{
printf("%s  %s  %d\n",(p+i)->name,(p+i)->num,(p+i)->score);
}
}
int main()
{
struct A str[3];
struct A *p=str;
input_info(p);
sort_info(p);
output_info(p);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐