程序代码:/**************************************************************************
前面的网友的代码很精妙,看着就令人舒服。不过由于还有一
部分朋友看不明白,所以小弟献丑,用数组来排序。并付上注释。
由于小弟新手,程序不免有疏漏之处,还望大家海涵。
***************************************************************************/
#include
int main(void)
{
int a[6]; /* 定义一个用来排序的数组*/
int b,i=0; /* 定义b变量,输入待转换整数。定义i,用来循环*/
printf("请输入待排序的整数:\n");
scanf("%d",&b);/* 输入整数*/
while(b) /* 循环的条件是b为真,也就是值非0 */
{
a[i]=b%10; /* 将整数的余数——也就是个位数,赋给数组 */
++i; /* i值加1 */
b=b/10; /* b被重新赋值,也就是把原来的个位除去,
以前的十位现在是个位。原来是3位数,
现在已经成为2位数了。因为它是int型的
变量,系统自动取整,舍去小数部分 */
}
a[i]='\0'; /* 把赋值后的数组加上休止符“\0” */
puts(" "); /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 换行*/
for(i=0;a[i]!='\0';++i)
printf("%d",a[i]); /* 输出数组,也就是排序后的字符 */
puts(" ");
system("pause");
return 0;
}