录入学员成绩,排序,输出.
#include<stdio.h>
#include<string.h>
struct student
{
int num;
char name[20];
char sex;
float score;
};
void in();
void sort();
void out();
main()
{
struct student stu[3];
in(stu);
sort(stu);
out(stu);
}
void in(struct student stu[])
{
int i;
for(i=0;i<3;i++)
{
printf("请输入第%d学员的信息/n学号:",i+1);
scanf("%d",&stu.num);
printf("姓名:");
fflush(stdin);
gets(stu[i].name);
do
{
printf("性别(F/M):");
scanf(" %c",&stu[i].sex);
if(stu[i].sex!='f'&&stu[i].sex!='F'&&stu[i].sex!='M'&&stu[i].sex!='m')
printf("请输入F/M/n");
}
while(stu[i].sex!='f'&&stu[i].sex!='F'&&stu[i].sex!='M'&&stu[i].sex!='m');
printf("成绩:");
scanf("%f",&stu[i].score);
}
}
void sort(struct student stu[])
{
int i,j;
struct student temp;
for(i=0;i<2;i++)
{
for(j=2;j>i;j--)
{
if(stu[j].score>stu[j-1].score)
{
temp=stu[j];
stu[j]=stu[j-1];
stu[j-1]=temp;
}
}
}
}
void out(struct student stu[])
{
int i;
printf("*******************************************************/n");
for(i=0;i<3;i++)
{
printf("第%d名学员的信息/n学号:%d/n",i+1,&stu[i].num);
printf("姓名:%s/n",stu[i].name);
printf("性别:%c/n",stu[i].sex);
printf("成绩:%.1f/n",stu[i].score);
}
}[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
下一篇:用递归求斐波那挈数列前n项的和
#include<string.h>
struct student
{
int num;
char name[20];
char sex;
float score;
};
void in();
void sort();
void out();
main()
{
struct student stu[3];
in(stu);
sort(stu);
out(stu);
}
void in(struct student stu[])
{
int i;
for(i=0;i<3;i++)
{
printf("请输入第%d学员的信息/n学号:",i+1);
scanf("%d",&stu.num);
printf("姓名:");
fflush(stdin);
gets(stu[i].name);
do
{
printf("性别(F/M):");
scanf(" %c",&stu[i].sex);
if(stu[i].sex!='f'&&stu[i].sex!='F'&&stu[i].sex!='M'&&stu[i].sex!='m')
printf("请输入F/M/n");
}
while(stu[i].sex!='f'&&stu[i].sex!='F'&&stu[i].sex!='M'&&stu[i].sex!='m');
printf("成绩:");
scanf("%f",&stu[i].score);
}
}
void sort(struct student stu[])
{
int i,j;
struct student temp;
for(i=0;i<2;i++)
{
for(j=2;j>i;j--)
{
if(stu[j].score>stu[j-1].score)
{
temp=stu[j];
stu[j]=stu[j-1];
stu[j-1]=temp;
}
}
}
}
void out(struct student stu[])
{
int i;
printf("*******************************************************/n");
for(i=0;i<3;i++)
{
printf("第%d名学员的信息/n学号:%d/n",i+1,&stu[i].num);
printf("姓名:%s/n",stu[i].name);
printf("性别:%c/n",stu[i].sex);
printf("成绩:%.1f/n",stu[i].score);
}
}[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
下一篇:用递归求斐波那挈数列前n项的和
【用邮箱推荐给好友】
