问题描述
在数学上,我们发现有一类图形是对称图形。我们对于左右一样的图形叫做沿 y 轴对称,对于上下一样的图形叫做沿 x 轴对称。
如下图所示的图形就是沿 y 轴对称的两个三角形:
而下图所示的图形就是沿 x 轴对称的两个三角形:
请从键盘读入一个整数 n ,代表三角形的行数,再读入一个字符,该字符为’ x ’或者’ y ’,代表是沿 x 轴对称还是沿 y 轴对称,输出对应的轴对称图形。( 8.1 )
输入
第一样是一个整数 n(n≤10 )
第二行是一个字符(字符’ x ’或者字符’ y ’)
输出
按照要求输出的轴对称图形。
样例
输入
5 x
输出
* *** ***** ******* ********* ********* ******* ***** *** *
编辑代码
语言 C++
代码:
#include<bits/stdc++.h>
using namespace std;
int a[105][105]={},i,j,n,m;
char s;
int main(){
cin>>n>>s;
if(s=='x'){
for(i=1;i<=n;i++){
for(j=1;j<=n-i;j++){
cout<<" ";
}
for(j=1;j<=i*2-1;j++){
cout<<"*";
}
cout<<"\n";
}
for(i=1;i<=n;i++){
for(j=2;j<=i;j++){
cout<<" ";
}
for(j=1;j<=(n+1-i)*2-1;j++){
cout<<"*";
}
cout<<"\n";
}
}
if(s=='y'){
for(i=1;i<=n;i++){
for(j=1;j<=n-i;j++){
cout<<" ";
}
for(j=1;j<=i*2-1;j++){
cout<<"*";
}
for(j=1;j<=n-i+n-i;j++){
cout<<" ";
}
for(j=n*2;j<=n*2-1+i*2-1;j++){
cout<<"*";
}
cout<<"\n";
}
}
}
制作不易,给个一键三连吧!求求了!