劳动光荣 动

题目描述
由键盘输入一个大写字母(A 到 Z 中的任意一个),输出如下图所示由相关大写字母组成的图形。所输入的字母一定为输出文件的第一个字符(位于图形的左上角),其余部分的字母构成规律和分布由样例给出。

一些关于空白的说明:由于样例不是等宽字符,所以看起来比较丑陋。

51nod并不对比答案中的空白,所以只需要正确输出每行的内容即可。

如果你打算正确输出所有内容,需注意,每行行末没有不可见的空格。

输入格式
输入只有一行,仅为一个大写英文字母。

输出格式
输出文件包含一个如样例所示的图形。注意图形的行数与输入的字母有关,图形的第一行最左侧一定是你输入的那个字母。

样例输入
E

样例输出
EDCBAABCD
DCBAABC
CBAAB
BAA
A

思路
分两个部分输出…CBA,ABC…,空格一行比一行多。

坑点
巧用ASCII码

代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
	char a;
	cin>>a;
	int k=0;
	for(int i=0;i<=a-65;i++)
	{
		int z=a;//Z表示从A到当前字母共有几个。 
		for(int j=0;j<k;j++)
		{
			printf(" ");
		}
		for(int j=z-k;j>=65;j--)//利用ASCII码进行转换。 
		{
			printf("%c",j);
		}
		for(int j=65;j<z-k;j++)//同上 
		{
			printf("%c",j);
		}
		z--;
		k++;//表示有多少行 
		printf("\n");
	}
	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值