C++ 菱形字母金字塔
【问题描述】
根据输入的整数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++ 菱形字母金字塔相关推荐
- c语言编写一个字母金字塔,【强迫症满足向】字母金字塔: C语言实现
本质是for循环练习,金字塔在文后 一.初级阶段:输出菱形星星 这是一个for循环小练习 为满足强迫症需求, Leo先放个图爽一爽 算法本身不难, 注意循环结束条件, 初值的设置, 利用等差公式等等 ...
- c语言aba字母塔,打印字母金字塔,昨晚看到某个帖子的题目
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 编程实现打印字母金字塔 如以下形式: A ABA ABCBA ABCDCBA ABCDEDCBA ABCDEFEDCBA ABCDEFGFEDCBA AB ...
- 7-55 空心字母金字塔 (10 分)
输入一个大写的英文字母,输出空心的字母金字塔. 输入格式: 一个大写英文字母. 输出格式: 一个空心的大写英文字母金字塔,其中第1层的"A"在第1行的第40列,列从1开始计数. 输 ...
- c语言字母金字塔代码,打印字母金字塔,昨晚看到某个帖子的题目
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 编程实现打印字母金字塔 如以下形式: A ABA ABCBA ABCDCBA ABCDEDCBA ABCDEFEDCBA ABCDEFGFEDCBA AB ...
- C语言:字母金字塔(输入一个大写字母,输出从A到这个字母的金字塔
题目:写一个程序实现输入一个大写字母,计算机输出从A到这个大写字母的字母金字塔.(两种方法) 比如:输入C,则会输出 目录: 1).思路1分析(非数组).代码讲解.2) ...
- 7-123 空心字母金字塔 (10 分)输入一个大写的英文字母,输出空心的字母金字塔。
7-123 空心字母金字塔 (10 分) 输入一个大写的英文字母,输出空心的字母金字塔. 输入格式: 一个大写英文字母. 输出格式: 一个空心的大写英文字母金字塔,其中第1层的"A" ...
- java for 字母金字塔_扣丁学堂Java培训简述如何用C#随机数生成字母金字塔
本篇文章扣丁学堂Java培训小编给读者们简单分享一下如何用C#随机数生成字母金字塔,具有一定的参考价值,感文中有详细的代码列出供感兴趣的小伙伴参考,想要了解的小伙伴就随小编来看一下具体内容吧. 1.代 ...
- 打印可自定义的字母金字塔(python实现)
打印字母金字塔(python实现) 打印一个如图所示的 可自定义规模 的金字塔: 思路: 整个过程分为两部分: 第一部分:分行打印(第一个,也就是最外层的for循环). 第二部分:打印当前行,从左至右 ...
- 1166 稀疏字母金字塔(1)
题目描述 从键盘输入一个整数n,输出n行的字母金字塔.如下图所示的是一个n为6的字母金字塔. 输入要求 输入一个整数n. 输出要求 输出n行的字母金字塔. 输入样例 6 输出样例 AB BC C CD ...
最新文章
- android socket握手,HttpURLConnection抛出java.net.SocketTimeoutException:在Android 4.1.1中SSL握手超时...
- 虚拟仪器软件LabView使用初步了解
- MyBatisPlus3.x代码生成器生成实体类自定义需要填充的字段
- Matlab练习:timer(定时器)
- 构建前端自动化工作流环境
- cli vue 外部js 引入 文件_javascript - vue cli构建的项目中,vue组件里怎么引入外部js文件里的方法...
- app.config中的值获取及设置 以及对log4net配置
- 【p2p】【EdgeVPNio (evio)】简介: IP-over-P2P (IPOP)
- 无线网卡性能怎么测试软件,无线性能测试平台和方法
- 计算机系统管理思维导图,个人管理系统思维导图.pdf
- 34.网络安全渗透测试—[信息收集篇3]—[whois查询和反查/IP查询和反查/C段查询/资产相关]
- html 怎么在背景图片上添加内容,css 如何在一个背景图片的中间添加文字呢?
- STM32实现基于I2C的AHT20温湿度采集
- 【IntelliJ IDEA】idea多次重装打不开的解决办法
- 天下足球--背景音乐
- 梦幻西游手游:工坊进阶考试题目攻略—考古、乐艺篇
- 翻译Prism4碰到生单词
- 2021年焊工(初级)考试报名及焊工(初级)证考试
- Java 获取一个月的总天数
- 【solidworks工作常用技巧-图号分离】