gpt4 book ai didi

c - 在 c 中打印形状 x 次

转载 作者:太空宇宙 更新时间:2023-11-04 01:54:07 24 4
gpt4 key购买 nike

我试图水平打印这个箭头形状乘以第一个参数的数量。现在它正在工作,但代码似乎很多余..必须有更好的方法..请帮忙?

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char** argv)
{
int i;
int a;
a = strtol(argv[1], NULL, 0);
for (i=0; i<a; ++i) {
printf(" * ");
}
printf("\n");
for (i=0; i<a; ++i) {
printf(" *** ");\
}

printf("\n");
for (i=0; i<a; ++i) {
printf(" ***** ");
}

printf("\n");

for (i=0; i<a; ++i) {
printf("*******");
}

printf("\n");

for (i=0; i<a; ++i) {
printf(" *** ");
}

printf("\n");

for (i=0; i<a; ++i) {
printf(" *** ");
}

printf("\n");

for (i=0; i<a; ++i) {
printf(" *** ");
}

printf("\n");



return 0;
}

当前输出如下所示:

./a.out 3
* * *
*** *** ***
***** ***** *****
*********************
*** *** ***
*** *** ***
*** *** ***

最佳答案

当您的代码 self 重复时,很可能是您遗漏了一个循环。当您的“将要循环”使用的数据在迭代中过于不同时,数组通常会有所帮助。

你可以制作一个 C 字符串数组,并添加一个额外的循环打印字符串:

char *arrow[] = {
" * ",
" *** ",
" ***** ",
"*******",
" *** ",
" *** ",
};
for (int r = 0 ; r != 6 ; r++) {
for (int i = 0 ; i != 3 ; i++) {
printf("%s", arrow[r]);
}
printf("\n");
}

Demo.

关于c - 在 c 中打印形状 x 次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37526653/

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