思路:输出这个三角形时可以观察到前面的空格输出是有规律的,(第一行的空格输出为n-1个,然后输出一个符号)循环输出n-1行,如果是第一行,则换行,否则输出2n-3个空格,然后输出一个符号,这个循环可以输出前n-1行的图形,最后一行单独输出2n-1个符号然后再输出一个换行符,整个代码段用flag控制每行的末尾的空行,第一行除外。
#include<string>
#include<iostream> //cin输入的库函数
#include<algorithm> //sort函数库函数
#include<stdio.h>
using namespace std;
int main()
{
string s;
int n,flag=0; //flag用来判断是否需要换行,只有第一次输入时不需要换行
while(cin>>s>>n)
{
if(s=="@")
break;
if (flag != 0)
cout << endl; //除了第一行外,空一行再输出
for(int i=1;i<n;i++) //遍历输出前n-1行
{
for(int j=i;j<n;j++) //每行先输出n-i个空格
{
cout<<" ";
}
cout<<s; 输出一个字符
for(int j=0;j<2*i-3;j++)