在第一个for循环的第一次迭代之后,它没有打印正确的答案。有人可以解决我的问题吗?
dogArray.append(imagePicture)
答案 0 :(得分:1)
您应该将代码更改为
#include <iostream>
#include <string>
using namespace std;
int main() {
string s="ABCD";
for(int i=0; i<s.length(); i++) {
for(int j=1; j<=s.length()-i; j++) {
string s1(s,i,j); //get a substring of s from position with length j
cout<<s1<<endl;
}
}
return 0;
}
答案 1 :(得分:-1)
你没有详细说明问题所在,但我会假设你想要像
这样的东西A
AB
ABC
ABCD
B
BC
BCD
C
CD
D
输出,在这种情况下,你向后限制它。而不是让内环从外部开始,只要它需要它就可以使用。
#include <iostream>
#include <string>
using namespace std;
int main() {
string s="ABCD";
for(int i=0; i<s.length(); i++) {
for(int j=0; j<s.length() - i; j++) {
string s1(s,i,j+1);
cout<<s1<<endl;
}
}
return 0;
}