题目描述
本题目要求你在控制台输出一个由数字组成的等腰三角形。
具体的步骤是:
1 、先用1,2,3,…的自然数拼一个足够长的串
2、 用这个串填充三角形的三条边。从上方顶点开始,逆时针填充。
比如,当三角形高度是8时:
输入
输入存在多组数据,对于每组数据:
输入一行包含一个正整数n(3<n<300),表示三角形的高度
样例输入
5
10
AC代码
#include<bits/stdc++.h>
using namespace std;
string s;
void init(){
for(int i=1;i<=1000;i++){
string str="";
int x=i;
while(x!=0){
str+=(char)(x%10+'0');
x=x/10;
}
reverse(str.begin(),str.end());
s+=str;
}
}
int main(){
init();
int n;
while(cin>>n){
for(int i=1;i<n;i++){
for(int j=1;j<=n-i;j++){
cout<<".";
}
cout<<s[i-1];
if(i!=1){
for(int j=1;j<(i-1)*2;j++){
cout<<".";
}
cout<<s[4*(n-1)+1-i];
}
cout<<endl;
}
for(int i=0;i<2*(n-1)+1;i++){
cout<<s[n-1+i];
}
cout<<endl;
}
return 0;
}
来源:CSDN
作者:qq_46340722
链接:https://blog.csdn.net/qq_46340722/article/details/104343392