一只程序猫 发表于 2020-3-19 20:10:25

怎么输出这个图形

本帖最后由 一只程序猫 于 2020-3-20 10:31 编辑

具体如下:
      *
      ***
    *****
*******
*********

墨羽岚 发表于 2020-3-19 20:41:42

#include<stdio.h>
int main()
{
printf("\n\
       *\n\
      ***\n\
   *****\n\
    *******\n\
   *********");
return 0;
}
\n\是换行的意思

余敏丰 发表于 2020-3-19 20:51:37

i=1
number=int(input('请输入一个奇数:'))
while i<number and (number-i)%2==0:
    str1='*'*i
    if i==1:
      print(str1.rjust(number-2))
    else:
      print(str1.center(number))
    i=i+2

墨羽岚 发表于 2020-3-20 09:17:32

余敏丰 发表于 2020-3-19 20:51
i=1
number=int(input('请输入一个奇数:'))
while i

你在c板块答题用Python?{:10_327:}

一只程序猫 发表于 2020-3-20 10:29:47

墨羽岚 发表于 2020-3-20 09:17
你在c板块答题用Python?

我说怎么有点奇怪

一只程序猫 发表于 2020-3-20 10:31:22

墨羽岚 发表于 2020-3-19 20:41
\n\是换行的意思

要用for之类的,不是这种

墨羽岚 发表于 2020-3-20 11:00:55

#include <stdio.h>

int main()
{
        int num;int i,j;
        printf("请输入您想生成的三角形高度: ");
        scanf("%d",&num);
        for(i=1; i<=num; i++)
        {
                for(j=1; j<2*num; j++)
                {
                        if(j>num-i&&j<num+i)
                                printf("%c",'*');
                        else
                                printf(" ");
                }
                printf("\n");
        }
        return 0;
}

墨羽岚 发表于 2020-3-20 11:02:54

一只程序猫 发表于 2020-3-20 10:31
要用for之类的,不是这种

代码发在楼上了

一只程序猫 发表于 2020-3-20 11:09:53

墨羽岚 发表于 2020-3-20 11:02
代码发在楼上了

谢谢

一只程序猫 发表于 2020-3-20 11:11:56

墨羽岚 发表于 2020-3-20 11:00


请问一下这一段中的if(j>num-i&&j<num+i)
为什么要这样写

墨羽岚 发表于 2020-3-20 11:17:15

一只程序猫 发表于 2020-3-20 11:11
请问一下这一段中的
为什么要这样写

在这段区域内打*号,其他地方打空格(C语言应该没有自动居中的功能)

一只程序猫 发表于 2020-3-20 11:31:18

墨羽岚 发表于 2020-3-20 11:17
在这段区域内打*号,其他地方打空格(C语言应该没有自动居中的功能)

if(j>num-i&&j<num+i)
这里&&的前面看懂了不懂后面

墨羽岚 发表于 2020-3-20 11:41:58

一只程序猫 发表于 2020-3-20 11:31
这里&&的前面看懂了不懂后面

实际上你可以把整个图形看成是一个num*(2*num-1)的长方形,而程序就是在长方形num-i和num+i间(开区间)打*,其他地方打空格。
比如咱输入num=5,
i=1时,就要在(4,6)(注意是开区间)中,也就是在j=5这里画个*,然后前后都是空格;
i=2时,就要在(3,7),也就是在j=4,5,6这三处画*,前后都是空格;
...
以此类推就行了

一只程序猫 发表于 2020-3-20 13:18:06

墨羽岚 发表于 2020-3-20 11:41
实际上你可以把整个图形看成是一个num*(2*num-1)的长方形,而程序就是在长方形num-i和num+i间(开区间) ...

谢谢,懂了

余敏丰 发表于 2020-3-21 23:03:56

墨羽岚 发表于 2020-3-20 09:17
你在c板块答题用Python?

串错门了,溜了溜了

墨羽岚 发表于 2020-3-22 09:30:19

余敏丰 发表于 2020-3-21 23:03
串错门了,溜了溜了

哈哈{:10_256:}
页: [1]
查看完整版本: 怎么输出这个图形