我需要创建一个上下三角形和一个法线三角形,它应该是这样的:
***********
*********
*******
*****
***
*
*
***
*****
*******
*********
***********
我创造了一些东西,但我得到了5条新的线,而不是另一个三角形:
***********
*********
*******
*****
***
*
*
***
*****
*******
*********
***********
这是C++代码,希望有人能解决我的问题:
int n,i,j;
cout<<"Give the Number N of Stars ";
cin>>n;
for(i=1; i<=n; i++)
{
for(j=1;j<=i-1;j++)
cout<<" ";
for(j=i;j<=n-i+1;j++)
cout<<"*";
cout<<"n";
}
for(i=1;i<=n;i++)
{
for(j=i;j<=n-1;j++)
cout<<" ";
for(j=1;j<=2*i-n;j++)
cout<<"*";
cout<<"n";
}
您的外循环使i
从1
变为n
(意味着n
行),但行数少于n
行,因为每行的恒星数减少2,而不是1。额外的行就是这样的结果。额外的行中没有恒星,因为在这个循环中:
for(j=i;j<=n-i+1;j++)
cout<<"*";
一旦i
超过n
的一半大小,循环将不会打印任何星,因为j
的初始值大于j
的终止条件。