打印输出金字塔

首先,输入的字母决定打印的空格个数 ,空格位数就是输入字母-‘A'位数,可以用for循环进行打印,第一行打印的空格最多是输入字母和'A'的ASCALL之差,每往下一行少打印一个空格,直到不打印空格。

其次,打印左半边的三角形每往下一行多打印一个空格,多打印一个字母,打印的字母位数都是从'A'开始的,所以写个for循环从'A'开始打印每次往后加1个ASCALL进行打印每行比上一行多打印一个字母直到打印出我们输入的字母为止。

最后,打印右边的三角形,右边的三角形和左边打印的差不多,不过先打印的是输入字母少一个ASCALL的字母打印到'A',每行比上一行多打印一个。     

#include<stdio.h>

int main()
{
    char c;
    printf("请输入字母");
    scanf("%c",&c);
    int b=(int)c-65;  //输入的字母和'A'的ASCALL之差

    for (int j=0;j<=b;j++)
    {
        int d=65;
        for (int i=j;i<=b;i++)  //打印空格
        {
            printf(" ");
        }

        for(int k=b-j;k<=b;k++)  //左半边三角形
        {
            
            printf("%c",d);
            d++;
        } 
        
        
        int e=d-1;//右半边三角形比左边少一行所以减1
        for(int l=b-j;l<b;l++) //右半边三角形
        {
           
           e--;
            printf("%c",e);

        }  
    
    
    printf("\n");
    }
    return 0;
}
  • 11
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值