输入n,循环获取最低位的数num,定义一个bool型数组,数组长度为10,以num为索引对num进行标记, 出现过的标记为true,否则为false;只将没有出现过的加入到vector中,最后进行输出
#include <stdio.h> #include <vector> using namespace std; void fun(int n) { bool find[10]={false}; vector<int> m_vec; while(n) { int num = n % 10; if(find[num] == false) { m_vec.push_back(num); } find[num] = true; n /= 10; } for(auto& v: m_vec) { printf("%d", v); } printf("\n"); } int main() { int n; while(scanf("%d", &n) != EOF) { fun(n); } return 0; }