gpt4 book ai didi

c - 我正在尝试开发一个程序,将我的消息(字符串)排列在 x*width 矩阵中

转载 作者:行者123 更新时间:2023-11-30 19:12:12 25 4
gpt4 key购买 nike

例如(如果宽度=5)这是一个 C 程序。这和“”应该在第一行,其余的将转到下一行,依此类推。

#include<stdio.h>

int main(void)
{
int width;
int i;
char message[256];

scanf("%d",&width);
scanf(" %s",&message);
for( i = 1; i <= width; i++ )
{
if( i == width )
{
printf( "\n" );
}
else
{
printf( "%s", message );
i == width;
}
}
printf( "\n" );

return 0;
}

最佳答案

使用 scanf 输入包含空格的字符串是晦涩且过于复杂的,因为它通常使用空格作为字符串分隔符 - 您只会得到“消息”的第一个单词。

您需要迭代字符串的长度而不是“矩阵”的宽度 - 否则它将在一行后停止。您只需在每个 width 个字符插入一个换行符即可。

循环的主体没有什么意义,因为无论其长度如何,您都只是打印消息(多次)。

#include <stdio.h>

int main(void)
{
int width = 0 ;
int i = 0 ;
char message[256] = "" ;

scanf( "%d", &width );
fgets( message, sizeof(message), stdin ) ;

while( message[i] != '\0' )
{
putchar( message[i] ) ;
i++ ;
if( i % width == 0 )
{
putchar( '\n' ) ;
}
}

putchar( '\n' ) ;
}

在大多数情况下,需要对用户输入进行一些有效性检查。

关于c - 我正在尝试开发一个程序,将我的消息(字符串)排列在 x*width 矩阵中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37633949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com