【问题描述】

根据输入的整数n,输出对称的菱形字母塔。该字母塔有2*n-1行,每一行有若干个空格字符和大写英文字母组成。

【输入形式】

输入一个自然数n(1<=n<=26)

【输出形式】
输出由2*n-1行大写英文字母和空格组成的字母塔,其规律请见样例输出。其中的第n行最左面没有空格,每一行的右侧也没有空格。

【样例输入】

4
【样例输出】

【题目分析】

本题适合初学者对字符和循环嵌套的练习。

1.定义变量及输入。

int n,i,k,j;char ch='A';//字符调用使用单引号cin>>n;

2.进行前半部分,即列数增加的输出。

for(i=1;i<=n;i++) //使用i来换行{    k=0;while(n-i>k){cout<<" ";k++;}    //输出每一行前面的空格for(j=0;j<i;j++)cout<<(char)(ch+j);//输出字符从A开始增加的while(j!=1){cout<<(char)(ch+j-2);j--;}//输出从最大的逐个减小的字符,直到取到A停止cout<<endl;//每一行结束要换行}

3.后半部分,即列数减小的行。

  for(i-=2;i!=0;i--)//上个循环最后i的值为最长行的行数+1,因此先将i-2作为初始的行{k=0;while(n-i>k)//输出每一行前面的空格{cout<<" ";k++;}for(j=0;j<i;j++)//输出递增字符cout<<(char)(ch+j);while(j!=1)//输出递减字符{cout<<(char)(ch+j-2);j--;}cout<<endl;//每一行最后记得要换行!!!}

【完整代码】

#include <iostream>
using namespace std;
int main()
{   int n,i,k,j;char ch='A';cin>>n;for(i=1;i<=n;i++){    k=0;while(n-i>k){cout<<" ";k++;}for(j=0;j<i;j++)cout<<(char)(ch+j);while(j!=1){cout<<(char)(ch+j-2);j--;}cout<<endl;}for(i-=2;i!=0;i--){k=0;while(n-i>k){cout<<" ";k++;}for(j=0;j<i;j++)cout<<(char)(ch+j);while(j!=1){cout<<(char)(ch+j-2);j--;}cout<<endl;}return 0;
}

C++ 菱形字母金字塔相关推荐

  1. c语言编写一个字母金字塔,【强迫症满足向】字母金字塔: C语言实现

    本质是for循环练习,金字塔在文后 一.初级阶段:输出菱形星星 这是一个for循环小练习 为满足强迫症需求, Leo先放个图爽一爽 算法本身不难, 注意循环结束条件, 初值的设置, 利用等差公式等等 ...

  2. c语言aba字母塔,打印字母金字塔,昨晚看到某个帖子的题目

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 编程实现打印字母金字塔 如以下形式: A ABA ABCBA ABCDCBA ABCDEDCBA ABCDEFEDCBA ABCDEFGFEDCBA AB ...

  3. 7-55 空心字母金字塔 (10 分)

    输入一个大写的英文字母,输出空心的字母金字塔. 输入格式: 一个大写英文字母. 输出格式: 一个空心的大写英文字母金字塔,其中第1层的"A"在第1行的第40列,列从1开始计数. 输 ...

  4. c语言字母金字塔代码,打印字母金字塔,昨晚看到某个帖子的题目

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 编程实现打印字母金字塔 如以下形式: A ABA ABCBA ABCDCBA ABCDEDCBA ABCDEFEDCBA ABCDEFGFEDCBA AB ...

  5. C语言:字母金字塔(输入一个大写字母,输出从A到这个字母的金字塔

    题目:写一个程序实现输入一个大写字母,计算机输出从A到这个大写字母的字母金字塔.(两种方法) 比如:输入C,则会输出               目录:   1).思路1分析(非数组).代码讲解.2) ...

  6. 7-123 空心字母金字塔 (10 分)输入一个大写的英文字母,输出空心的字母金字塔。

    7-123 空心字母金字塔 (10 分) 输入一个大写的英文字母,输出空心的字母金字塔. 输入格式: 一个大写英文字母. 输出格式: 一个空心的大写英文字母金字塔,其中第1层的"A" ...

  7. java for 字母金字塔_扣丁学堂Java培训简述如何用C#随机数生成字母金字塔

    本篇文章扣丁学堂Java培训小编给读者们简单分享一下如何用C#随机数生成字母金字塔,具有一定的参考价值,感文中有详细的代码列出供感兴趣的小伙伴参考,想要了解的小伙伴就随小编来看一下具体内容吧. 1.代 ...

  8. 打印可自定义的字母金字塔(python实现)

    打印字母金字塔(python实现) 打印一个如图所示的 可自定义规模 的金字塔: 思路: 整个过程分为两部分: 第一部分:分行打印(第一个,也就是最外层的for循环). 第二部分:打印当前行,从左至右 ...

  9. 1166 稀疏字母金字塔(1)

    题目描述 从键盘输入一个整数n,输出n行的字母金字塔.如下图所示的是一个n为6的字母金字塔. 输入要求 输入一个整数n. 输出要求 输出n行的字母金字塔. 输入样例 6 输出样例 AB BC C CD ...

最新文章

  1. android socket握手,HttpURLConnection抛出java.net.SocketTimeoutException:在Android 4.1.1中SSL握手超时...
  2. 虚拟仪器软件LabView使用初步了解
  3. MyBatisPlus3.x代码生成器生成实体类自定义需要填充的字段
  4. Matlab练习:timer(定时器)
  5. 构建前端自动化工作流环境
  6. cli vue 外部js 引入 文件_javascript - vue cli构建的项目中,vue组件里怎么引入外部js文件里的方法...
  7. app.config中的值获取及设置 以及对log4net配置
  8. 【p2p】【EdgeVPNio (evio)】简介: IP-over-P2P (IPOP)
  9. 无线网卡性能怎么测试软件,无线性能测试平台和方法
  10. 计算机系统管理思维导图,个人管理系统思维导图.pdf
  11. 34.网络安全渗透测试—[信息收集篇3]—[whois查询和反查/IP查询和反查/C段查询/资产相关]
  12. html 怎么在背景图片上添加内容,css 如何在一个背景图片的中间添加文字呢?
  13. STM32实现基于I2C的AHT20温湿度采集
  14. 【IntelliJ IDEA】idea多次重装打不开的解决办法
  15. 天下足球--背景音乐
  16. 梦幻西游手游:工坊进阶考试题目攻略—考古、乐艺篇
  17. 翻译Prism4碰到生单词
  18. 2021年焊工(初级)考试报名及焊工(初级)证考试
  19. Java 获取一个月的总天数
  20. 【solidworks工作常用技巧-图号分离】

热门文章

  1. BMP文件转YUV文件_C语言实现
  2. 2019 蓝桥杯省赛 A 组模拟赛(一) D. 结果填空:修建公路 (二进制)
  3. 故障:电脑频繁短暂黑屏
  4. 【mac】如何取消桌面麦克风
  5. 月入四万的程序员生活如同5000工资一样窘迫,钱都去哪了?
  6. 没钱看病?别怕,有医保!
  7. pb数据窗口如何设置一列中连续相同数据的背景颜色_数据可视化 | 想轻松入门,必走这7步!...
  8. 浅析IBM的竞争优势
  9. UE4的JSON读写方式二
  10. 腾讯云购买服务器和域名后要怎么配置访问