题解 | #提取不重复的整数#
提取不重复的整数
http://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1
提取不重复的整数:C语言解法
首先循环提取输入数的最低位,维护一个大小为10的数组,判断数组中是否有提取的这个数位。
- 如果有则把输入数除等于10,继续提取下一数位。
- 如果没有仍要把输入数除等于10,并将此数位添加到数组中,结果乘10再加上此数位.
- 提取到最高位即可输出结果
#include<stdio.h>
int main(){
int num = 0, size = 0,result = 0,flag = 0;
int arr[10] = {0};
scanf("%d\n",&num);
while(num != 0){
flag = 1;
for(int i=0; i<size; i++){
if(num%10 ==arr[i]){
flag = 0;
break;
}
}
if(flag){
size++;
arr[size-1] = num%10;
result *= 10;
result += num%10;
}
num/=10;
}
printf("%d\n",result);
}
![]