C语言学习(C++)

这篇博客介绍了如何使用C语言来输出不同高度的梯形。通过示例代码展示了如何根据输入的高度h,动态生成相应的梯形图案。代码中使用了双重循环,外层循环控制行数,内层循环分别输出空格和星号,以形成梯形形状。为了实现多次输出不同高度的梯形,采用了while循环,读取用户输入的高度,直至文件结束。

第一章枚举与模拟

模拟问题

02.输出梯形

题目描述:

输入一个高度h,输出一个高为h,上底边为h的梯形。

输入:

一个整数h(1<=h<=1000)。

输出:

h所对应的梯形

样例输入:

4

样例输出:

****

******

********

**********

可以列表总结出规律,对于h=4,i为第i行

i

空格

*

0

6

4

1

4

6

2

2

8

3

0

10

从而可以推断当为h行时

i

空格

*

0

2h-2

h

1

2h-2-2*i

h+2*i

h-1

0

3h-2

然后我们可以写出

#include <cstdio>

int main() {

int h;

for(int i=0;i<h;i++){//先输出空格

for(int j=0;j<2*h-2-2*i;j++){

printf(" ");

}

for(int j=0;j<h+2*i;j++){//在输出*

printf("*");

}

printf("\n");// \n表示换行

}

return 0;

}

如果要求我们多次输出,例如需要连续输出h=3,4,5的三种情况,在这种不确定的情况下,我们需要添加while循环如下

#include <cstdio>

int main() {

int h;

while(scanf("%d",&h)!=EOF){//为了多次输出梯形,最后Ctrl+D表示文件终止,EOF是-1,VS中文件终止符是Ctrl+Z

for(int i=0;i<h;i++){

for(int j=0;j<2*h-2-2*i;j++){

printf(" ");

}

for(int j=0;j<h+2*i;j++){

printf("*");

}

printf("\n");// \n表示换行

}

}

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值