C语言实现字符串按行打印
#include<stdio.h> #include<string.h>
int main() { int N, len, n, t, i, j; char str[1005], a[100][100];
// 输入N的值
scanf('%d', &N);
getchar(); // 清除输入缓冲区中的回车符
// 输入字符串
gets(str);
len = strlen(str); // 计算字符串的长度
n = len / N; // 计算字符串分成n行
if (len % N != 0)
n++; // 如果余数不为0,则行数加一
// 将字符串按照N的值分成n行,存放在二维数组a中
t = 0; // 初始化字符串的下标
for (j = n - 1; j >= 0; j--)
{
for (i = 0; i < N; i++)
{
// 如果字符串没有遍历完,则将字符存放在二维数组a中
if (str[t] != '\0')
{
a[i][j] = str[t];
t++;
}
else
{
a[i][j] = ' '; // 如果字符串已经遍历完,则将剩余位置填充为空格
}
}
}
// 输出二维数组a中的字符
for (i = 0; i < N; i++)
{
for (j = 0; j < n; j++)
{
printf('%c', a[i][j]);
}
printf('\n');
}
return 0;
}
原文地址: https://www.cveoy.top/t/topic/qd6D 著作权归作者所有。请勿转载和采集!