2015年2月5日22:53:29
1.输入n个0~1000的整数,将它们从小到大排序。如果想对1000以内的整数排序,我们需要1001个小房子来表示每个数出现的次数。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int iTotal,iNum[1001],iInput,iSerach,iMax,iTemp;
for(iInput = 0;iInput < 1001;iInput ++)
{
iNum[iInput] = 0;
}
printf("请输入要排序的个数n = ");
scanf("%d",&iTotal);
printf("\r\n");
printf("请输入要排序的%d个具体数值(0~1000),中间以空格隔开!\r\n",iTotal);
for(iInput = 0;iInput < iTotal;iInput ++)
{
scanf("%d",&iTemp);
iNum[iTemp] ++;
}
for(iInput = 0;iInput < 1001;iInput ++)
{
//for(iSerach = 1;iSerach < iNum[iTemp];iSerach ++)
{
while(iNum[iInput] > 0)
{
printf("%d ",iInput);
iNum[iInput] -- ;
}
}
}
printf("\r\n");
system("pause");
return 0;
}