输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
保证输入的整数最后一位不是 0 。
输入:9876673
输出:37689
解题思路:
1、将输入的整数分别与10 相除,后得到的余数,然后如果对应map[余数] 的值为0 ,则说明是一个没有重复的数字将其打印出来,反之则不打印该数字
2、循环条件,处理完个位数后, 将其/10,后继续判断十位。并且依此类推,直到最高位
#include<stdio.h>int main(){int number;int hash[10] = {0};scanf("%d", &number);while(number != 0){int remander = number%10;if (hash[remander] == 0){printf("%d", remander);hash[remander] = 1;}number /=10;}return 0;
}