定义一个学生结构体,包含结构体成员:身高,姓名,成绩;定义一个结构体数组有7个成员,要求终端输入结构体成员的值,根据学生成绩,进行冒泡排序。
#include <stdio.h>
#include <string.h>
typedef struct
{
char name[20];
int high;
int score;
}stu,*stu_p;
void mp(stu brr[])
{
int i,j,temp,len;
len=strlen(brr);
for(i=0;i<len-1;i++)
{
for(j=0;j<len-1-i;j++)
{
if(brr[j].score<brr[j+1].score)
{
stu temp=brr[j];
brr[j]=brr[j+1];
brr[j+1]=temp;
}
}
}
}
int main(int argc, const char *argv[])
{
stu arr[7];
int k,n=7;
for(k=0;k<7;k++)
{
printf("第%d个人的数据:",k+1);
scanf("%s %d %d",arr[k].name,&arr[k].high,&arr[k].score);
}
mp(arr);
for(k=0;k<7;k++)
{
printf("第%d名:",n);
printf("%s %d %d\n",arr[k].name,arr[k].high,arr[k].score);
n--;
}
return 0;
}
运行结果