一大波数正在靠近-----排序
- 最快最简单的排序-----桶排序(浪费空间)
- 邻居好说话-----冒泡排序
- 桶排序
#include<stdio.h>
int main()
{
int a[11],i,j,t;
for(i=0;i<11;i++){
a[i]=0;//初始化为0
}
for(i=1;i<=5;i++){//循环读入5个数
scanf("%d",&t);//把每个数读到变量t中
a[t]++;//进行计数
}
for(i=0;i<11;i++){//依次判断a[0]--a[10]
for(j=1;j<=a[i];j++){//出现几次就打印几次
printf("%d",i);
}
}
}
2,冒泡排序
#include<stdio.h>
struct student
{
char name[21];
int score;
} ;//创建了一个结构体用来存储姓名和成绩
int main()
{
struct student a[100],t;
int i,j,n;
scanf("%d",&n);
for(i=1;i<=n;i++){//循环读入n个人名和成绩
scanf("%s %d",a[i].name,&a[i].score);
}
for(i=1;i<=n-1;i++){//n个数排序,只用进行n-1趟
for(j=1;j<=n-i;j++){
if(a[j].score<a[j+1].score){//对分数进行比较,并从高到底排序
t=a[j];a[j]=a[j+1];a[j+1]=t;
}
}
}
for(i=1;i<=n;i++){//输出人名
printf("%s\n",a[i].name);
}
}