我没有得到第二行输出 必须是“ nk” 基本上我想给一半的输出,甚至 就像在mayank中一样,它会变成一半l / 2 输入mayank和nikhil时,我应该得到偶数索引“ my”和“ ny”
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int n, l, temp, j, i;
cin >> n;
i = 0;
j = 0;
char a[n][100];
while (i < n) {
cin >> a[i];
i++;
}
i = 0;
while (i < n) {
l = strlen(a[i]);
while (j < l / 2) {
if (j % 2 == 0) {
cout << a[i][j];
}
j = j + 2;
}
i++;
}
}
答案 0 :(得分:0)
我仍然不确定您到底想做什么。但是这是您的代码,可以打印偶数索引的字符,仅打印到每个字符串的前半部分。
请注意,为了拥有动态数组,您需要使用malloc()
(C样式)或new
(C ++样式)。
在此示例中,我使用了malloc使其尽可能接近您的原始代码,请注意,此代码中唯一的“ C ++”是cout
。
#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;
int main()
{
int n, l, temp, j, i;
cin >> n;
i = 0;
j = 0;
char **a = (char**)malloc(n*sizeof(char*));
for (i=0; i<n; i++)
{
a[i]=(char*)malloc(100*sizeof(char));
}
i=0;
while (i < n) {
cin >> a[i];
i++;
}
for(i=0;i<n;i++)
{
for(j=0;j<strlen(a[i])/2;j++)
{
if(j%2==0)
{
cout << a[i][j];
}
}
cout << '\n';
}
}