我的代码:
#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;
}
错误是我应该打印存储在inp [j]中的字符时没有输出。请帮助解决这个问题。
输入:
5
toioynnkpheleaigshareconhtomesnlewx
预期产出:
theresnoplacelikehomeonasnowynightx
答案 0 :(得分: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;
}