给你一个整数51234
(比如说)我们需要对一个数字的数字进行排序,输出将是12345
。
不使用数组怎么办?
最佳答案
您可以使用循环和 % 10
来提取每个数字。
可以使用从 0 到 9 的外循环来测试该数字是否存在。如果存在,请打印。
在伪代码中:
n = integer // 51234
FOR digit = 0 TO 9
temp = n
REPEAT
IF temp % 10 = digit THEN PRINT digit
temp /= 10
UNTIL temp = 0
编辑: gcc 中的这个测试表明它可以处理零和重复数字:
$ cat sortdigits.c
#include <stdio.h>
main () {
int n,digit,temp;
n = 43042025;
for (digit=0;digit<9;digit++)
for (temp=n;temp>0;temp/=10)
if (temp%10==digit) printf("%d",digit);
printf("\n");
}
$ ./sortdigits
00223445
关于c++ - 对整数的数字进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2130712/