C语言 10 行有效代码 解决~~~~
解题思路:
1、将输入的整数 分别与10 相除,后得到的余数,然后如果 对应map[余数] 的值为0 ,则说明是一个没有重复的数字将其打印出来,反之则不打印该数字
2、循环条件,处理完个位数后, 将其/10,后继续判断十位。并且依此类推,直到最高位。
欢迎大家沟通讨论,感谢!!
#include <stdio.h>
int main(void) {
int data = 0;
scanf("%d", &data);
int map[10] = {0};
while (data != 0) { // 判断是否处理了最高位
int temp = data%10;
if (map[temp] == 0) { // 判断这一位 是否已经出现过
map[temp]++;
printf("%d", temp);
}
data = data/10; // 个位 -> 十位 -> 百位
}
return 0;
}