标签:getc 暂停 运行 etc main 排序 16px com blog
在我们的生活的这个世界到处都是被排序过的东西。站队的时候会按照身高排序,考试的名次需要按照分数排序,网上购物的时候会按照价格排序,电子邮箱中的邮件按照时间排序……可以说排序无处不在。今天简单讲讲最快最简单的排序——桶排序。
尝试一下输入n个0~1000之间的整数,将它们从大到小排序。
代码实现如下:
#include <stdio.h>
int main() {
//桶排序
//先确定变量
//赋初始值
//循环输入数值
//循环输出数值
printf("桶排序\n");
int book[1001], i, j, t, n;
for (i = 0; i <= 1000; i++)
book[i] = 0; //初始化为0
printf("请输入数值个数:");
scanf("%d", &n);
for (i = 1; i <= n;i++) { //循环输入n个数
printf("第%d个数:",i);
scanf("%d", &t); //把每个数读到变量t中
book[t]++; //进行计数
}
printf("排序结果:\n");
for (i = 1000; i >= 0; i--) //依次判断编号1000~0的桶
for (j = 1; j <= book[i]; j++) //出现了几次就将桶的编号打印几次
printf("%d\t",i);
getchar(); //用来暂停程序,以便查看程序输出的内容
getchar();
return 0;
}
输入以下数据进行验证:
10
8 100 50 22 15 6 1 1000 999 0
运行结果是:

标签:getc 暂停 运行 etc main 排序 16px com blog
原文地址:http://www.cnblogs.com/yankyblogs/p/7058616.html