gpt4 book ai didi

给定输入的列宽

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

在此代码中,我尝试打印与给定 9 个数字一样多的星星,并尝试创建给定宽度的列。我是新手,所以我无法使用任何花哨的方法。

#include <stdio.h>

void pm(int n, char c, int w)
{
int i, j;

for(i = 0; i < n; i++)
for(j = 0; j < w; j++)
printf("%c", c);
printf("\n");
printf("+------");
printf("\n");
}

int main()
{

int i;
int width;
int number = 9;
int n1, n2, n3, n4, n5, n6, n7, n8, n9;

printf("Enter 9 numbers (all less than 50):\n|1-2-3-4-5-6-7-8-9|\n");
printf("|-----------------|\n ");
scanf("%d %d %d %d %d %d %d %d %d", &n1, &n2, &n3, &n4, &n5, &n6, &n7, &n8, &n9);

printf("\nEnter the width of the charts (1, 3, 5 or 7):");
scanf("%d", &width);

pm(n1, '*', width);
pm(n2, '*', width);
pm(n3, '*', width);
pm(n4, '*', width);
pm(n5, '*', width);
pm(n6, '*', width);
pm(n7, '*', width);
pm(n8, '*', width);
pm(n9, '*', width);

system("PAUSE");
}

例如当用户输入1-2-3-3-3-3-3-3-3和3宽度时;输出是:

***
+------
******
+------
********
+------
********
+------...

我希望它是:

*
*
*
+-------
**
**
**
+-------

我希望你能明白。我知道代码很乱,但我只想完成代码,然后我可以安排更好的东西。

最佳答案

花一些时间正确格式化您的代码(或使用可以执行此操作的编辑器),当您这样做时,您将了解它如何更好地工作。您的代码是:

void pm(int n, char c, int w){
int i, j;

for(i = 0; i < n; i++)
for(j = 0; j < w; j++)
printf("%c", c);

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

因此它会打印 c n*w 次,然后打印一个换行符,然后再次打印分隔符和换行符。

要做你想做的事,你需要这样的东西:

for(i = 0; i < w; i++) {
for(j = 0; j < n; j++) {
printf("%c", c);
}
printf("\n");
}
printf("+------\n");

注意添加的 {} block ,用于标记每个 for 循环的范围。

关于给定输入的列宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26324940/

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