输出倒等腰三角形解决思路
输出倒等腰三角形
如题 1.用两个for 一个"*"输出一个倒等腰三角形
2.用一个递归不用循环输出一个倒等腰三角形
***********
*********
*******
*****
***
*

或者有更好思路的也可以说下
------解决方案--------------------
只会用循环,如果对格式化输出熟悉的话应该更简单
------解决方案--------------------
------解决方案--------------------
感觉这题用递归是吃力不讨好啊
没有写出让自己很满意的,就不发递归版本的了
------解决方案--------------------
如题 1.用两个for 一个"*"输出一个倒等腰三角形
2.用一个递归不用循环输出一个倒等腰三角形
***********
*********
*******
*****
***
*
或者有更好思路的也可以说下
------解决方案--------------------
只会用循环,如果对格式化输出熟悉的话应该更简单
int nNum ;
cin >> nNum;
for (int i = nNum; i >= 0 ; i-=2)
{
for (int j = 0; j != nNum; j++)
{
if (j < (nNum-i)/2
------解决方案--------------------
j >= i+(nNum-i)/2)
{
cout << " ";
}
else
{
cout << "*";
}
}
cout << endl;
}
------解决方案--------------------
string f(int, int);
int main()
{
int n, i=0;
cin>>n;
string s=O(i, n);
cout<<s;
}
string f(int i, int n)
{
if (i==(n+1)/2) return "";
return string(i, ' ')+string(n-2*i, '*')+"\n"+f(i+1, n);
}
------解决方案--------------------
感觉这题用递归是吃力不讨好啊
没有写出让自己很满意的,就不发递归版本的了
int n=6;
for(int i=0; i<n; i++)
{
printf("%*s", i, "");
for(int j=0; j<2*(n-i)-1; j++)
printf("*");
printf("\n");
}
------解决方案--------------------
#include <stdio.h>
int main()
{
char str[] = "***********";
int len = sizeof str - 1;
for(int i=0; i<=len/2; ++i)
printf("%*.*s\n", len-i, len-i*2, str);
int fir = 0;
while(fir < len)
{
puts(str);
str[fir++] = str[--len] = ' ';
}