#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;

}

C语言实现字符串按行打印

原文地址: https://www.cveoy.top/t/topic/qd6D 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录