博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NUC1014 排版题.输出排列成菱形的字母
阅读量:5901 次
发布时间:2019-06-19

本文共 985 字,大约阅读时间需要 3 分钟。

时间限制: 1000ms 内存限制: 65536K

问题描述
输入N值,编程输出如下图形
输入描述
一个整数N(1 ≤ N ≤ 7 )。
输出描述
排列成菱形的大写字符,首字符为Z,以后依次为Y,X...
样例输入
3
样例输出
Z  Y   XW       V  U   T    S
来源
{NOJ}

问题分析:

这个题是拿《CCF NOI1032 菱形》改写的,没想到不是一次AC的,居然出现PE(格式错误)。坑人的地方是字母之间还有一个空格,肉眼还没看出来!

这里问题的关键是,首先控制好行,输出多少行要控制好;其次是控制好每一行,一行中通常由空格、字符、空格、字符和换行符号构成。

一行中,空格、字符、空格和字符的数量与它是第几行构成函数关系。这种函数关系在程序中,通常是用表达式来写的。

另外,用函数封装功能是一种好的做法。

程序说明:

参见链接博文。

参考链接:

AC的C++程序如下:

#include 
using namespace std;void diamond(int n){ char c = 'Z'; // 打印上半三角 for(int i=1; i<=n; i++) { for(int j=1; j<=(n-i)*2; j++) printf(" "); if(i == 1) printf("%c", c--); else { printf("%c", c--); for(int j=1; j<=(2*i-3)*2+1; j++) printf(" "); printf("%c", c--); } printf("\n"); } // 打印下半三角 for(int i=1; i<=n-1; i++) { for(int j=0; j
> n; diamond(n); return 0;}

转载于:https://www.cnblogs.com/tigerisland/p/7563861.html

你可能感兴趣的文章
HostMonster主机修改文件权限的方法
查看>>
人生的交易
查看>>
TP5中关联模型的使用详解
查看>>
springMVC注解之入门
查看>>
不用花钱!Android模拟器让你在电脑上免费体验谷歌手机
查看>>
MySql
查看>>
设置EditText光标位置
查看>>
OrderBy排序和IComparer的使用
查看>>
[转载]项目风险管理七种武器-拳头
查看>>
[摘录]第三章 打破部门门墙,优化团队绩效
查看>>
关于程序设计的想法
查看>>
XML代码生成器——XmlFactory 简介(二)
查看>>
BZOJ 5441 [Ceoi2018]Cloud computing
查看>>
Ionic + Angular + Cordova
查看>>
fs操作 -- events的使用
查看>>
2随笔
查看>>
linux下调试core的命令
查看>>
hbase-java-api003(put list)
查看>>
08hibernate_one2one_ufk_2
查看>>
ClassLoader.getResourceAsStream() 与 Class.getResourceAsStream()的区别
查看>>