鱼C论坛

 找回密码
 立即注册
查看: 1701|回复: 7

求大神帮忙 | 怎么打出母金字塔!!!!!!

[复制链接]
发表于 2020-5-24 22:48:01 | 显示全部楼层 |阅读模式

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

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

x
题目内容:
要求用户从键盘“”输入一个大写字母“”,使用嵌套循环产生像下面这样的金字塔图案:

      A
    ABA
  ABCBA
ABCDCBA


程序运行结果示例1:
Please input a capital letter: D↙
_ _ _ _A
_ _ _ABA
_ _ABCBA
_ABCDCBA
程序运行结果示例2:
Please input a capital letter: F↙
_ _ _ _ _ _A
_ _ _ _ _ABA
_ _ _ _ABCBA
_ _ _ABCDCBA
_ _ABCDEDCBA
_ ABCDEFEDCBA
(说明:上面运行结果示例中,每行字母前面的下划线"_"代表屏幕上实际输出的是空格,最后一行前面有一个空格,倒数第二行有两个空格,以此类推。)

输入提示信息:"Please input a capital letter: "
输入格式: "%c"
输出格式:"%c"
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-24 23:11:13 | 显示全部楼层
本帖最后由 Twilight6 于 2020-5-25 07:53 编辑

用什么,是不是Python?
ask = input('Please input a capital letter:')
num = ord(ask) - 64

for i1 in range(num):
    print(' '*num,end='')
    temp = ''
    for i2 in range(65,66+i1):
        temp += '%c'%i2
        if i2 == ord('A')+i1 and i2 != 65:
            for i3 in range(1,i1+1):
                temp += '%c'%(i2-i3)
    print(temp)
    num -= 1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-24 23:24:34 | 显示全部楼层
一道数学题,请自行分析,金字塔的层数,该层其实位置索引,该层结束索引,总层数,这个变量之间的数学关系。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-25 00:27:48 | 显示全部楼层
Twilight6 发表于 2020-5-24 23:11
用什么,是不是Python?

测试的时候不小心按了个小写的d  还真别说...这金字塔蛮好看的
1234.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-25 14:39:40 | 显示全部楼层
Twilight6 发表于 2020-5-24 23:11
用什么,是不是Python?

是c语言哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-25 14:42:41 | 显示全部楼层

你发帖子发在新手乐园要说明好是什么语言啊,又不是C语言板块
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-27 01:06:22 | 显示全部楼层
Twilight6 发表于 2020-5-24 23:11
用什么,是不是Python?

用的是C语言哦
我的自己的思路是先排空格,再排左半边三角,再排右半边三角
#include <stdio.h>
void main()
{
        char input;
        int lm, l, s, d, u;
        printf("输入一个单词\n");
        scanf("%c", &input);
        lm = input-65+1;
        for( l=1 ; l<=lm ; l++ )
        {
                for( s=lm-l ; s>=1 ; s-- )
                        printf(" ");
                for( u=0 ; u<l ; u++ )
                        printf("%c",'A'+u);
                for( d=1 ; d<l ; d++ )
                        printf("%c", input-d);
                printf("\n");
        }
}
但是这个右半边的三角输出不出来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-27 07:29:08 | 显示全部楼层
七七七七七七棋 发表于 2020-5-27 01:06
用的是C语言哦
我的自己的思路是先排空格,再排左半边三角,再排右半边三角
#include

我知道是C了。。。。你重复艾特我干嘛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-11 16:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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