机试算法讲解: 第7题 打印一个梯形吧
来源:互联网 发布:穿越火线淘宝网买装备 编辑:程序博客网 时间:2024/05/05 05:29
/*问题:输入高度h,输出高为h,上底边围h的梯形 ------------ -------------- ---------------- ------------------ --------------------思路:由于多出的底边x可以设为任意值,不放设x=h第1行, h h第2行,打印h-1个空格,1个*,然后打印h个空格,再打印1个* h+2*1 3 h-2 1 h+2*1 1个* h+2*2 4 h-3个空格,1个* h+2*2 1个* h-1 2 ,1个* h+2*(h-1-2)个空格,即h+2*(h-3),1个* i h+1-i 1个* h+2*(i-2)个空格,1个* h+2*(i-1) h 1个空格 ,3h个*打印第一行时,先打印h个空格,再打印h个*号,然后打印h个换行符最后打印长度为2h个的*号总结公式:print(*)= {h个空格,h个*,i=1 {1个空格,3h个*,i=h 错,是3h-2个*,因为,h最后一行有2个*公用了 {h+1-i个空格,1个*,h+2*(i-2)个空格,1个**///等腰梯形/*#include <stdio.h>#include <stdlib.h>int main(int argc,char* argv[]){int h,i;while(EOF!=scanf("%d",&h) && h >= 1 && h <= 1000){int iLinNum = 1;while(iLinNum <= h){if(iLinNum > 1 && iLinNum < h){for(i = 1;i <= (h+1-iLinNum) ; i++){printf("%c",' ');}/*printf("%c",'*');for(i = 1; i <= (h+2*(iLinNum-2)) ; i++){printf("%c",' ');}printf("%c",'*');*//*for(i = 1;i <= (h+2*(iLinNum-1)) ; i++){printf("%c",'*');}printf("\n");iLinNum++;}else if(1==iLinNum){for(i = 1 ; i <= h ; i++ ){printf("%c",' ');}for(i = 1 ; i <= h ; i++ ){printf("%c",'*');}printf("\n");iLinNum++;}else if(h==iLinNum){printf("%c",' ');for(i = 1;i <= 3*h - 2 ; i++){printf("%c",'*');}printf("\n");iLinNum++;}//else if}//while}//whilesystem("pause");getchar();return 0;}*//*样例输入:4输出: **** ****** ******************公式:第一行h个*,前面空 h+2*(h-1)-h个空格= 2*(h-1)个空格 二 h+2个* i h+2*(i-1)个*,前面空 h+2*(h-1)-[h+2*(i-1)] = 2*(h-i)个空格 h h+2*(h-1)个*print(*) = {2*(h-i)个空格,h+2*(i-1)个*,第i行*/#include <stdio.h>#include <stdlib.h>int main(int argc,char* argv[]){int h,i;while(EOF!=scanf("%d",&h) && h >= 1 && h <= 1000){int iLinNum = 1;while(iLinNum <= h){for(i = 1 ; i <= 2*(h-iLinNum); i++){printf("%c",' ');}for(i = 1; i <= h+2*(iLinNum-1) ; i++){printf("%c",'*');}iLinNum++;printf("\n");}}system("pause");getchar();return 0;}
0 0
- 机试算法讲解: 第7题 打印一个梯形吧
- 机试算法讲解: 第14题 实现一个简单计算器
- 机试算法讲解: 第15题 霍夫曼树是啥树啊?
- 机试算法讲解: 第21题 再谈进制转换
- 机试算法讲解: 第23题 哦,最小公倍数
- 机试算法讲解:第26题 分解素因数
- 机试算法讲解: 第27题 k次方整除
- 机试算法讲解:第32题 并查集是个好东西
- 机试算法讲解:第36题 Floyd
- 机试算法讲解: 第37题 Dijkstra
- 机试算法讲解: 第57题 位运算
- 机试算法讲解: 第58题 输入外挂
- 算法谜题92 梯形平铺
- 打印直角三角形,等腰三角形、直角梯形、等腰梯形
- 机试算法讲解:第20题 一起重温小学题:进制转换
- 机试算法讲解:第24题 大水题:谁是素数?
- 机试算法讲解:第1题 冒泡排序与快速排序
- 机试算法讲解:第2题 结构体之快速排序
- 自定义视图
- OPENWRT学习笔记入门篇
- N皇后问题
- 如何运营一个软件微社区
- linux内核中GPIO的使用(二)--标准接口函数
- 机试算法讲解: 第7题 打印一个梯形吧
- spring hibernate 配置文件模板
- jbpm6.2 installer 使用mysql
- 态度,基础,谦虚
- Can you find it?
- PS笔记
- POJ 3468 A Simple Problem with Integers (线段树 区间更新)
- web本地客户端缓存图片实现
- log4j配置文件