C++ 如何解决代码中的以下错误?
我的代码:C++ 如何解决代码中的以下错误?,c++,C++,我的代码: #include<iostream> #include<conio.h> using namespace std; int main() { int a; while ((cin >> a)) { if (a == 0) break; char inp[401]; cin >> inp; for (int i = 0; i
#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
int a;
while ((cin >> a))
{
if (a == 0)
break;
char inp[401];
cin >> inp;
for (int i = 0; i < a; i += 1)
{
for (int j = i; j < 400; j += a)
{
if (inp[j] == '\0')
break;
cout << inp[j] << endl;
}
}
cout << endl;
}
getchar();
return 0;
}
预期产出:
theresnoplacelikehomeonasnowynightx
你的问题很神秘,就像你试图解决的解密问题一样。下面的代码为给定的输入生成预期的输出
#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
int a;
while ((cin>>a))
{
if (a == 0)
break;
string inp;
cin >> inp;
int f = 9,s=1;
int inc = f;
for(int i = 0; i < a; i++)
{
for (int j = i; j < inp.length() ; )
{
cout << inp[j];
j += inc;
inc = inc==f?s:f;
}
f-=2;
s+=2;
inc = f;
}
cout << endl;
}
getchar();
return 0;
}
#包括
#包括
使用名称空间std;
int main()
{
INTA;
而((cin>>a))
{
如果(a==0)
打破
字符串inp;
cin>>inp;
int f=9,s=1;
int inc=f;
for(int i=0;i这些循环是不是很可疑,你想在这里实现什么?我正在尝试交替输出给定字符串的下一个第10个元素和第5个元素。@Discodeser你能提供示例输入和预期输出吗?使用调试器。这是学习使用调试器的一个很好的候选者。这比跟踪一个字符串的执行要好得多手动nd变量。您没有检查键入的文本的长度。根据输入,键入的字母少于400个,但循环可能会通过,特别是如果您在输入之前没有用“\0”填充数组。
#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
int a;
while ((cin>>a))
{
if (a == 0)
break;
string inp;
cin >> inp;
int f = 9,s=1;
int inc = f;
for(int i = 0; i < a; i++)
{
for (int j = i; j < inp.length() ; )
{
cout << inp[j];
j += inc;
inc = inc==f?s:f;
}
f-=2;
s+=2;
inc = f;
}
cout << endl;
}
getchar();
return 0;
}