图案打印
来源:互联网 发布:2016中国汽车销量数据 编辑:程序博客网 时间:2024/06/02 08:54
题目描述
一年一度的植树节就要到了,计算机学院学生准备在学院教学楼门前的空地上种植树木。为使树木排列得更加美观,大家决定把树木排列成菱形。现在告诉你我们所拥有的树木能排列成边长为N的菱形,请你编程输出树木所排列的图案(用*号代表树木)。
输入
一个整数N(1≤N≤10)。
输出
排列成菱形图案的*号。请注意在图案中:每行树木之间无空行,每列树木之间均有一个空列。
示例输入
3
示例输出
* * ** * * * *
我写这个题时没有注意到树木之间有空列 改了n次都错误,这种题时学c语言来接触最早的题目 当时就能很好的写出来 可是现在确写的很费劲,多数在凑,先大体上写出来然后输入答案一点一点的修改,写完很不爽,决定写个东西记录一下 ,捋一捋,这也是我第一次写博客,希望可以坚持。
我一般两种思路 1是直接输出 2是用数组;
先说直接输出吧;
第一行的* 在2*n-1(n是个数)的位置
第二行的* 在2*(n-1)-1 的位置 和2*n-1+2的位置也就是2*(n+1)-1的位置
第三行的* 在2*(n-2)-1的位置 和2*(n+1)-1+2的位置(就是在上一行出现的位置加2) 也就是2*(n+2)-1
。。。。。
for(int i=0;i<n;i++){for(int j=1;j<=2*(n+i)-1;j++)//其中 2*(n+i)-1为 2*n-1+i*n; {if(j==2*(n-i)-1||j==2*(n+i)-1) cout<<'*';else cout<<' ';}cout<<endl;}
然后处理下面的行
从n+1行开始 我们认为是第i行 的 第一个*在 2*(i-n)+1的位置 和第 4*n-3(这是最长的一行的长度,也就是第n行的长度)-(i-n)*2;
随着i的不断增加 第一个星的位置逐渐相互移动,第一个星的位置逐渐向前移动,最后一行重合了;
我们同样可以让第n-1行是第i=1行这样更好操作
这样第n-1 行的星就是 2*i+1 的位置 和 (4*n-3)-(2*i)的位置
for(int i=1;i<n;i++){for(int j=1;j<=(4*n-3)-(2*i);j++){if(j==i*2+1||j==(4*n-3)-(2*i)) cout<<"*";else cout<<" ";}cout<<endl;}
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1127
#include<cstring>using namespace std;int main(){int n;cin>>n;for(int i=0;i<n;i++){for(int j=1;j<=2*(n+i)-1;j++)//其中 2*(n+i)-1为 2*n-1+i*n; {if(j==2*(n-i)-1||j==2*(n+i)-1) cout<<'*';else cout<<' ';}cout<<endl;}for(int i=1;i<n;i++){for(int j=1;j<=(4*n-3)-(2*i);j++){if(j==i*2+1||j==(4*n-3)-(2*i)) cout<<"*";else cout<<" ";}cout<<endl;} }
数组方法跟这个一样;
关键找出每行的长度 for循环不要输出了多余的空格 ;
后面的*找出最长的长度每次递减就行了
前面的每次递增就行了
0 0
- 打印图案。
- 打印图案
- 图案打印
- 图案打印
- 打印图案
- 打印数字环形图案
- 打印出菱形图案
- 打印数字菱形图案
- 打印特殊图案
- 打印蛇形图案
- C++打印“*”图案例子
- 打印蛇形图案
- 1127图案打印
- 1959: 图案打印
- 巧妙打印对称图案
- SDUT 1127 图案打印
- *打印菱形图案
- SDUTACM图案打印
- SmartMio:懒人健身专用,八块腹肌等着你
- 在C程序中内嵌Python解释器,用脚本语言实现灵活的Plugin机制
- Java中final关键字用法总结
- c++ getline()函数用法
- sokcet超时
- 图案打印
- hdu 2041 and hdu 2044 and hdu 2045(打表 递归)(备战LQB)
- mysql连接中文乱码设置
- $("#id")[0].style.display = 'none';
- WNDCLASS(窗口类)和hWnd的关系
- 我的名字叫小微-微营销指导笔记2:微营销的概念
- 正则表达式
- 解决编译官方库中的project warning: #47-D: incompatible redefinition of macro
- DedeCms完美的FLASH幻灯代码