gpt4 book ai didi

c - 按升序将一维数组输入二维数组 (C)

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

我需要构建一个程序,请求用户插入一个句子像“Hello World”或其他什么

然后将这句话输入一维数组

然后从那里将其输入到二维数组中,该数组将按以下顺序显示他的句子:

Hello!! :)
)Hello!! :
:)Hello!!
:)Hello!!
! :)Hello!
!! :)Hello
o!! :)Hell
lo!! :)Hel
llo!! :)He
ello!! :)H

我完成了大部分工作,但我不能完全像这样我是说它给我的句子是减少而不是增加

我的代码:

#include <stdio.h>
#define P 10
int main(int argc, const char * argv[])
{
char array1[P][P];
char array2[P];
int i, j;

for (i = 0; i<P; i++) //fill the array with the chars.
{
scanf("%c", &array2[i]);
}

for (i=0 ; i<P ; i++)
{
for (j=0 ; j<P ; j++)
{
array1[i][j] = array2[j+i];
}
}

for (i=0 ; i<P ; i++)
{
for (j=0 ; j<P ; j++)
{
printf("%c", array1[i][j]);
}
putchar('\n');
}

}

我的错误在哪里?我该如何解决它?谢谢。

最佳答案

在第一次运行外循环时输入array1期间的代码是正确的,但第二次它在array1[1][0]=array2[1]处插入值; 表示array2 的第二个元素,因此使用此

array1[i][j] = array2[(j+P-i)%P];

关于c - 按升序将一维数组输入二维数组 (C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41314655/

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