最近太忙了,终于有点时间能更新一下小号了!
今天讲一道循环综合练习题输出空心等腰三角形。
要求:
输入一个正整数n,输出相应行数的*和空格,组成如图的空心等腰三角形。
分析:
此题主要是对循环结构的综合运用,对于初学者来说是较难的一道题,因为涉及到多重循环、问题分解和找规律。
通过观察可以将图形分为红线分隔得三部分,输出图形的时候即可根据这三部分进行分别输出。左侧部分空格的数量和行数的关系为n-i;右侧部分从第二行开始,空格数量为2*n-3;下面部分*的数量为2*n+1。
在输出时需要先输出前n-1行,而且每行是先输出左侧再输出右侧,因此循环层次关系和循环变量之间的关系需要分清。
具体分析解释请看视频吧,视频是用c++代码讲解的,应该能听明白。
这道题用python写比c++麻烦,但涉及到一个新知识。
python代码
n=eval(input("please input row number: "))
for i in range(1,n):
for j in range(1,n-i+1):
print(" ",end=" ")
#end=“”是在python3中用print实现输出后不换行的命令,python2中是print(" "),也就是麻烦在这个地方了
print("*",end=" ")
for k in range(1,2*i-2):
print(" ",end=" ")
print("*",end=" ")
print()
for i in range(1,2*n):
print("*",end=" ")
c++代码
#include
using namespace std;
int main()
{
int i,j,k,n;
for(i=1;i
{
for(j=n-i;j>=1;j--) cout
cout
{
for(k=1;k
cout
}
cout
}
for(i=1;i
return 0;
}
领取专属 10元无门槛券
私享最新 技术干货