杭电OJ -- 2091 空心三角形
2015-09-25 22:53
323 查看
Problem Description
把一个字符三角形掏空,就能节省材料成本,减轻重量,但关键是为了追求另一种视觉效果。在设计的过程中,需要给出各种花纹的材料和大小尺寸的三角形样板,通过电脑临时做出来,以便看看效果。
Input
每行包含一个字符和一个整数n(0<n<41),不同的字符表示不同的花纹,整数n表示等腰三角形的高。显然其底边长为2n-1。如果遇到@字符,则表示所做出来的样板三角形已经够了。
Output
每个样板三角形之间应空上一行,三角形的中间为空。显然行末没有多余的空格。
Sample Input
Sample Output
挺无聊的,这种题目,多看一下题目,记住输出的每一行后面没有多余的空格,看一下示例,下面用-代替空格:
-A-
AAA
是错误的,正确如下:
-A
AAA
是不是很坑。代码如下:
把一个字符三角形掏空,就能节省材料成本,减轻重量,但关键是为了追求另一种视觉效果。在设计的过程中,需要给出各种花纹的材料和大小尺寸的三角形样板,通过电脑临时做出来,以便看看效果。
Input
每行包含一个字符和一个整数n(0<n<41),不同的字符表示不同的花纹,整数n表示等腰三角形的高。显然其底边长为2n-1。如果遇到@字符,则表示所做出来的样板三角形已经够了。
Output
每个样板三角形之间应空上一行,三角形的中间为空。显然行末没有多余的空格。
Sample Input
X 2 A 7 @
Sample Output
X XXX A A A A A A A A A A A AAAAAAAAAAAAA
挺无聊的,这种题目,多看一下题目,记住输出的每一行后面没有多余的空格,看一下示例,下面用-代替空格:
-A-
AAA
是错误的,正确如下:
-A
AAA
是不是很坑。代码如下:
/*空心三角形 *很水,真的,我都不愿意拿这种题目来写博客了! */ #include <iostream> using namespace std; void print_x(char c, int n, int index1, int index2) { if (index2 == n) { for (int i = 1; i <= n; ++i) cout << c; } else { for (int i = 1; i <= index2; ++i) { if (i == index1 || i == index2) cout << c; else cout << ' '; } } cout << endl; } int main() { int n = 0; int index1 = 0; int index2 = 0; char c = ' '; bool is_first_tri = true; //是否为第一个三角形 while (cin >> c && c != '@') { cin >> n; if (!is_first_tri) cout << endl; index1 = index2 = (2 * n - 1) / 2 + 1; while (index1 >= 1 && index2 <= 2 * n - 1) { print_x(c, 2 * n - 1, index1, index2); index1 -= 1; index2 += 1; } is_first_tri = false; } return 0; }
相关文章推荐
- 专业实训题目需求分析
- netbeans中表格使用2
- html2canvas js截图并下载
- 【转载,自己做了些批注】重学C++ Primer后一些基本知识点注意点总结
- cygwin64
- 专业实训题目需求分析
- bootstrap 全局 CSS 样式
- 不能约束两个视图,在没有一个公共superview的情况下
- 回头看面试
- 排序算法:堆排序
- 专业实训项目需求分析
- 专业实训项目需求分析
- Adb Error
- 有关无法打开预编译头文件错误的思考
- netbeans中表格使用1
- (php)输出杨辉三角
- hdu4731Minimum palindrome 构造
- 文本
- 有关无法打开预编译头文件错误的思考
- bootstrap.css和esayUi.css样式冲突的解决