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;
}