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;
}
}
京公网安备 11010502036488号