主题:Vector在for循环内赋值死循环的问题
#include "stdafx.h"
#include<iostream>
#include<vector>
using namespace std;
int main(int argc, char* argv[])
{
int a,tak,c,i=0;
for(tak=9985;tak<10000;tak++)
{
vector<int> v;
vector<int>::iterator it;
c=tak;
// v.clear();
while(tak!=0)
{
a=tak%10;
tak=tak/10;
v.push_back(a);
}
it=v.begin();
a=0;
for(it=v.begin();it!=v.end();++it)
a=a*10+(*it);
cout<<a<<endl;
i++;
// if(i=1) break;
v.erase(v.begin(),v.end());
}
return 0;
}
/////////////////////////////////////////////////////////
求高手解答,循环从第二次开始就不对了,函数的功能是实现对一个数字反序排列
#include<iostream>
#include<vector>
using namespace std;
int main(int argc, char* argv[])
{
int a,tak,c,i=0;
for(tak=9985;tak<10000;tak++)
{
vector<int> v;
vector<int>::iterator it;
c=tak;
// v.clear();
while(tak!=0)
{
a=tak%10;
tak=tak/10;
v.push_back(a);
}
it=v.begin();
a=0;
for(it=v.begin();it!=v.end();++it)
a=a*10+(*it);
cout<<a<<endl;
i++;
// if(i=1) break;
v.erase(v.begin(),v.end());
}
return 0;
}
/////////////////////////////////////////////////////////
求高手解答,循环从第二次开始就不对了,函数的功能是实现对一个数字反序排列