讨论 / vector加递归+1
Steven.B 2017-02-07 01:27:17
点我顶贴 收藏 删除
#include <iostream>

#include <vector>

using namespace std;

vector<char>v; vector<char>::iterator pv;

void print(int,int);

int main()

{

int first, last, num;

char demo[25];

cin >> first >> last >> num >> demo;

for (int cnt = 0; cnt < num; cnt++)

{

v.push_back(demo[cnt]);

}

for (int cnt = 0; cnt < 5; cnt++)

{

pv = v.end() - 1;

print(last,num);

cout << "\n";

}

return 0;

}

void print(int last,int num)

{

if ((*pv) == 'a' + last - 1)

{

if (pv == v.begin())

return;

else

pv--;

print(--last,num);

}

else

{

(*pv)++;

if (pv != v.end())

{

char temp = *pv;

for (pv++; pv < v.end(); pv++)

{

(*pv) = ++temp;

}

}

for (pv = v.begin(); pv < v.end(); pv++)

{

cout << (*pv);

}

pv = v.end()-1;

}

}

查看更多回复
提交回复