问题及答案:
/*桶排序——分数低到高的排序算法*/
#include<stdio.h>
int main()
{
int a[11];
int i,j,t;
for(i=0;i<=10;i++)
a[i]=0; //初始化为0
for(i=0;i<5;i++)
{
scanf("%d",&t);
a[t]++; //计数,表示输入的值出现的个数(这里的值是在0-10分以内)
}
for(i=0;i<=10;i++)
for(j=1;j<=a[i];j++) //至少出现一次,出现几次打几次
printf("%d",i);
getchar();getchar(); //暂停程序
return 0;
}
#include<stdio.h>
int main()
{
int a[1001];//需要统计0~1000中每一个数出现的次数,如果需要统计的量很大就不适合用该方法
int i,j,n,t;
for(i=0;i<=1000;i++)
a[i]=0; //初始化为0
scanf("%d",&n); //输入一个数n,表示接下来有n个数
for(i=0;i<n;i++)
{
scanf("%d",&t);
a[t]++; //计数,表示输入的值出现的个数
}
for(i=1000;i>=0;i--)
for(j=1;j<=a[i];j++) //至少出现一次才打印,出现几次打几次
printf("%d",i);
getchar();getchar(); //暂停程序
return 0;
}