C++ 一种逻辑清晰的解法 利用vector 和 判断重复,判断重复是自己做的,判断重复是否有更好的解法或工具
#include<vector> //利用vector容器 using namespace std; int main() { int taget,m=0,i=0,flag=0,j=0;//flag用于判断是否重复 int b[10]={0,0,0,0,0,0,0,0,0,0};//用于判断是否重复 vector<int> T; cin>>taget; while(taget/10!=0 || (taget>0&&taget<10))//全部包含 { flag=0; //默认不重复 m=taget%10;//取数 taget/=10; for(i=0;i<10;i++) { if(m==b[i]) { flag=1;//重复 break; } } if(flag==0)//不重复 { if(j<10) { b[j]=m; j++; } T.push_back(m); } } for(vector<int>:: iterator it=T.begin();it!=T.end();it++)//输出vector { cout<<*it; } }