gpt4 book ai didi

c - 在 C 中使用数组显示模式

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

我正在尝试在 C 中显示一个模式。它看起来像这样:

目标:

ABCDCBA
ABC CBA
AB BA
A A

我知道如何使用更传统的模式方法获得大致相同的输出。这是使用传统方式(使用 for 循环和换行符)显示的内容:

获取输出:

ABCDDCBA
ABC CBA
AB BA
A A

我想使用数组而不是传统的方式来实现精确的目标模式。我试图将所有内容存储在数组中,然后只显示数组元素。

这是我的代码:

#include<stdio.h>
#include<conio.h>

void main()
{
int k,n=6,m;
int i=0,j=0;
int arr[10][10];
clrscr();
while(i<=n)
{
j=0;
k=65;
m=2*n;
while(j<=m)
{
while(j<=n-i)
{
arr[i][j]=k;
k++;
j++;
}
for(j=n-i;j<=n+i;j++)
{
printf(" ");
}
for(j=n+i;j<=m;j++)
{
printf("%c",k);
k--;
}
}
i++;
}
i=0;
while(i<=n)
{
j=0;
while(j<=m)
{
printf("%c",arr[i][j]);
j++;

}
printf("\n");
i++;
}

getch();
}

最佳答案

我正在查看你的acode,必须说所有的ijk等确实让我困惑。被告知要使用有意义的变量名是有原因的,因为这样更容易阅读代码并理解每个变量的含义。我非常确定,一旦您更改了真正的名称,您很快就会发现自己的错误。

话虽如此,请查看您的代码

        for(j=n+i;j<=m;j++)
{
printf("%c",k);
k--;
}

你从j=n+i开始陈述,并在打印后执行k--;,这意味着你打印的第一个字母与最高的字母相同,意味着您将打印“ABCDDCBA”...

关于c - 在 C 中使用数组显示模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18555755/

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