当前位置: 首页 > news >正文

字母金字塔

通过输入的字母,实现字母金字塔,效果如下面这个图:

代码示例:

#include <stdio.h>
int main(int argc, char const *argv[])
{
    // (1)、输入大写字母
    int  n  = 0;     
    char ch = 0;
    printf("请输入任意大写字母:\n");
    n = scanf("%c", &ch); 
    while( getchar() != '\n' );  
    
    // (2)、打印大写字母的金字塔图形
    int spaces = ch-'A';                    // 计算要打印的空格数
    //外层循环确定金字塔的层数(控制行),内层循环确定每一层要打印的空格数和字母个数和逆序字母(控制列)
    for (int i = 0; i <= ch-'A'; i++)       // a、确定金字塔的层数(要打印多少行) -->ch-'A' -->'D'-'A'-->3(68-65=3)(0-3有4层)
    {
        // 1、打印空格
        for (int j = 0; j < spaces; j++)    // b、第一层:0123空格,第二层:012, 第三层:01, 第四层:0, 第五层,无
        {
            printf(" ");
        }
        
        // 2、打印大写字母顺序(正序)
        for (int k = 0; k <= i; k++)        // c、k是正过来(ABCDE)
        {
            printf("%c", 'A'+k);             
        }

        // 3、打印大写字母逆序
        for (int m = i-1; m>=0; m--)        // d、m是倒过来(EDCBA)
        {
            printf("%c", 'A'+m);            
        }

        // 5、打印完一行后,要换行
        printf("\n");
        spaces--;                           // 换第二行时,打印的空格数,都需要减少1个

        //以上三个循环控制金字塔的每一层的输出数据(即三个循环控制列的输出)
        //所以看的时候要每一行,每一行的看才容易理解

    }
    

    return 0;
}

希望看完能对你的控制流语句有所提示,我是bardb(八分贝),道友,下期见!

相关文章:

  • 深度学习核心技术深度解析
  • 【HarmonyOS NEXT】实现文字环绕动态文本效果
  • LeetCode455☞分发饼干
  • 第1关:整数对
  • 网络空间安全(28)风险评估实施
  • 《C#上位机开发从门外到门内》2-7:网络通信(TCP/IP、UDP)
  • Java学习路线
  • QT—环境监控系统
  • 直线导轨在数控机床中的使用方法
  • 【原创】springboot+vue校园新冠疫情统计管理系统设计与实现
  • 【Linux】浅谈冯诺依曼和进程
  • 【C++】list(上):list类的常用接口介绍
  • 人工智能与人的智能,思维模型分享【2】沉没成本
  • MySQL存入表情包异常,修改表、字段的字符集/排序规则
  • 【SpringBoot】MD5加盐算法的详解
  • 级联树SELECTTREE格式调整
  • 搭建基于chatgpt的问答系统
  • H.264 和 H.265 中 SPS 字段的异同。
  • 滑动窗口算法-day11(不定长选做)
  • Ollama+ WebUI 部署deepseek-r1
  • wordpress 子网站重命名/知识营销
  • 网站开发为什么采取ssh框架/外贸推广公司
  • 搜索引擎网站推广怎么做/推广模式包括哪些模式
  • 郴州网站建设哪家公司好/2022年国际十大新闻
  • 网站频道建设/长春网站建设策划方案
  • 网站建设出现乱码是怎么回事/百度通用网址