标签:style io for ar amp type ef har
要求:写程序完成输入学生学号,姓名,以及成绩信息,根据学生成绩由高到低排序。
#include <stdio.h>
#include <string.h>
typedef struct student_score
{
int id;
char name[20];
int score;
}STU; //定义结构体
int main(int argc, const char *argv[])
{
int i,j;
int num;
STU tmp,stu[100];
printf("how many students?input the num:");
scanf("%d",&num); // 输入学生人数
for(i=0;i<num;i++)
{
printf("plz input the [num:%d]student‘s id:\n",i+1);
scanf("%d",&stu[i].id);
puts("plz input the name:");
scanf("%s",stu[i].name);
puts("plz input the score:");
scanf("%d",&stu[i].score);
}
/*
防止输入错误可采用:
int ret;
ret=scanf("%d %s %d",&stu[i].id,stu[i].name,stu[i].score);
if ( ret!=3 )
printf("input error");
*/
printf("============================\n");
printf("|| ID name score\n");
for(i=0;i<num;i++)
{
printf("|| %d %s %d \n",stu[i].id,stu[i].name,stu[i].score);
}
for (i=0;i<num;i++)
for(j=0;j<num-1;j++) //注意后面冒泡排序会出现stu[j+1];
{ // 如 学生人数为3时 只比较2次。因此循环条件: j<num-1
if (stu[j].score<stu[j+1].score)
{
tmp=stu[j];
stu[j]=stu[j+1];
stu[j+1]=tmp;
}
}
printf("============================\n");
for (i=0;i<num;i++)
{
printf("|| %d %s %d \n",stu[i].id,stu[i].name,stu[i].score);
}
return 0;
}
写程序完成输入学生学号,姓名,以及成绩信息,并由高到低排序,布布扣,bubuko.com
标签:style io for ar amp type ef har
原文地址:http://www.cnblogs.com/xry9211/p/3899177.html