鱼C论坛

 找回密码
 立即注册
查看: 841|回复: 10

[已解决]输出金字塔

[复制链接]
发表于 2020-11-2 13:58:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
                                 1
                            1   2  1
                         1  2  3  2  1
                     1  2  3  4  3  2  1
                 1  2  3  4  5  4  3  2  1
             1  2  3  4  5  6  5  4  3  2  1
         1  2  3  4  5  6  7  6  5  4  3  2  1
     1  2  3  4  5  6  7  8  7  6  5  4  3  2  1
1  2  3  4  5  6  7  8  9  8  7  6  5  4  3  2  1
. . . . . .
要求:输入一行,确定输出行数
输出:输出金字塔
最佳答案
2020-11-2 14:01:16
#include<stdio.h>
int main()
{
        int i, j, k, n;
        scanf("%d", &n);

        for (k = 1;k <= n;k++)                  // 控制行
        {
                for (i = 1;i <= 2 * (n - k);i++)    // 控制每行前面的空格
                {
                        printf(" ");
                }
                for (j = 1;j <= (2 * k - 1);j++)    // 控制每行输出的字符数
                {
                        if (j < k)                      // 控制每行前半部分输出的字符
                                printf("%d ", j);
                        else                            // 控制每行后半部分输出的字符
                                printf("%d ", (2 * k - j));
                }
                printf("\n");
        }

        return 0;
}

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-2 14:01:16 | 显示全部楼层    本楼为最佳答案   
#include<stdio.h>
int main()
{
        int i, j, k, n;
        scanf("%d", &n);

        for (k = 1;k <= n;k++)                  // 控制行
        {
                for (i = 1;i <= 2 * (n - k);i++)    // 控制每行前面的空格
                {
                        printf(" ");
                }
                for (j = 1;j <= (2 * k - 1);j++)    // 控制每行输出的字符数
                {
                        if (j < k)                      // 控制每行前半部分输出的字符
                                printf("%d ", j);
                        else                            // 控制每行后半部分输出的字符
                                printf("%d ", (2 * k - j));
                }
                printf("\n");
        }

        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-2 14:07:50 | 显示全部楼层
#include<stdio.h>
int main()
{
    int i,j;
    for(i=1;i<=9;i++)
    {
        for(j=1;j<=9-i;j++)
            printf("  ");
        for(j=1;j<=i;j++)
            printf("%d ",j);
        for(j=i-1;j>=1;j--)
            printf("%d ",j);
        printf("\n");
    }
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-2 14:08:24 | 显示全部楼层
#include<stdio.h>
int main()
{
    int i,j;
    for(i=1;i<=9;i++)
    {
        for(j=1;j<=9-i;j++)
            printf("  ");
        for(j=1;j<=i;j++)
            printf("%d ",j);
        for(j=i-1;j>=1;j--)
            printf("%d ",j);
        printf("\n");
    }
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-2 14:09:05 | 显示全部楼层

看到之后就在写,还是比你慢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-2 14:26:27 | 显示全部楼层
sunrise085 发表于 2020-11-2 14:09
看到之后就在写,还是比你慢了

你是现写,我是以前就写好的,从电脑里翻出来。我倒觉得不好意思了~~

这种题目,有两个,一个是这个,另一个是杨辉三角形,我都做过,保存在电脑里
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-2 19:42:44 | 显示全部楼层
我觉得上述回答都没有涉及到输入数字然后输出多少行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-2 22:32:32 | 显示全部楼层
15972441000 发表于 2020-11-2 19:42
我觉得上述回答都没有涉及到输入数字然后输出多少行

02.#include<stdio.h>
03.int main()
04.{
05.        int i, j, k, n;
06.        scanf("%d", &n);         这一句不就是吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-2 22:34:28 | 显示全部楼层

谢谢你真心回答!可他的回答确实比你的快,我只好选他的答案了,请谅解!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-2 22:35:01 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-8 21:35:34 | 显示全部楼层
乐乐学编程 发表于 2020-11-2 22:32
02.#include
03.int main()
04.{

哈哈  看错啦  对不起
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 17:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表