zoukankan      html  css  js  c++  java
  • 打印字母塔

    问题:

    编写程序,输出以下形状的字母塔:

          A
          ABA
          ABCBA
          ABCDCBA
         ......
        ABCD..Z..DCBA

    分析:

    求解此问题有两个关键步骤:一是确定每一行前导空格符的数目;二是按照一定的规律输出大写英文字母。显然,一共将输出26行。所编的程序应能保证最后一行的前导控制符数目至少为0,不妨设最后一行有10个前导控制符,那么倒数第二行应有11个前导控制符,倒数第三行有12个,以此类推,第一行应有35个前导控制符。一般的,若令centralch表示“字母塔”某行位于中央垂线上的那一行字符,如上图字符"I",则该行的前导空格符数目应为'Z'-centralch+10,即90-73+10=27,而该行接着输出的一串英文大写字母字符应是由‘A'递增至centralch,然后由centralch-1递减至’A',最后回车换行。由于有固定规律可寻,显见用循环结构,又因为这是确定次数的循环,故易选用for语句。循环控制变量选用字符变量。

     1 #include<stdio.h>
     2 main(){
     3     int i;
     4     char ch,centralch;
     5     printf("
    
    ");
     6     for(centralch='A';centralch<='Z';centralch++){
     7         for(i=1;i<='Z'-centralch+10;i++)
     8             printf(" ");
     9         for(ch='A';ch<=centralch;ch++)
    10             printf("%c",ch);
    11         for(ch=centralch-1;ch>='A';ch--)
    12             printf("%c",ch);
    13         printf("
    ");
    14     }
    15 } 









  • 相关阅读:
    构造函数与其他类方法的区别
    将博客搬至51CTO
    易错点
    c++类构造函数详解
    将博客搬至CSDN
    实数,有理数,无理数,自然数,整数的概念分别是什么?
    code for qint function
    spline和Pchips的不同(matlab)
    Pseudocode MD5 CODE
    git基础介绍
  • 原文地址:https://www.cnblogs.com/geziyu/p/8734851.html
Copyright © 2011-2022 走看看