C++中在右侧编辑器补充代码,先输入一个正整数n(代表Z字形的行数),然后是需要重排的字符串,字符串长度不超过30,输出为一行,即按照Z字形重排后的字符串
时间: 2024-05-25 07:16:46 浏览: 68
#include <stdio.h>
#include <string.h>
int main()
{
int n, len, i, j, k;
char str[31];
scanf("%d", &n);
scanf("%s", str);
len = strlen(str);
for (i = 0; i < n; i++) {
if (i == 0 || i == n - 1) { // 第一行和最后一行
for (j = i; j < len; j += 2 * (n - 1)) {
printf("%c", str[j]);
}
} else { // 中间的行
for (j = i, k = 2 * (n - 1) - i; j < len || k < len; j += 2 * (n - 1), k += 2 * (n - 1)) {
if (j < len) {
printf("%c", str[j]);
}
if (k < len) {
printf("%c", str[k]);
}
}
}
}
return 0;
}
阅读全文