输入一个整数n则输出一个由n行构成的等腰三角形,第一行有1个第二行有3个第三行有5个,最后一行不能有空格
#include "iostream"
using namespace std;
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=n-i;j>0;j--)
cout<<" ";
for(int k=1;k<=2*i-1;k++)
cout<<"*";
if(i!=n)
cout<<endl;
}
}
输入n是行数
#include<iostream>
#include<string>
using namespace std;
string getstring(int n,int c)
{
string _ret = "";
_ret.insert(_ret.begin(),n-1,' ');
_ret.insert(_ret.end(), c*2-1, '*');
return _ret;
}
int main()
{
int n = 0, cur = 1;
cin >> n;
while (n != 0)
{
cout << getstring(n, cur) << endl;
n--;
cur++;
}
}
思路:每行的空格数是总行数-当前函数,/*的个数是当前行数/*2+1,拼装就行