3.3 图形输出
问题 A: 输出梯形
#include<iostream>
using namespace std;
int main(){
int n;
while(cin>>n){
for(int i=0; i<n;i++){
for(int j=0; j<2*n-2-2*i; j++) cout<<" ";
for(int j=0; j<n+2*i; j++) cout<<"*";
cout<<endl;
}
}
return 0;
}
问题 B: Hello World for U
#include<iostream>
#include<string>
using namespace std;
int main(){
string n;
while(cin>>n){
int l = n.size();
int s = (l+2)/3;
int m = l-2*s;
for(int i=0; i<s;i++){
cout<<n[i];
if(i != s-1) for(int j=0; j<m; j++) cout<<" ";
else for(int j=0; j<m; j++) cout<<n[i+j+1];
cout<<n[l-i-1]<<endl;
}
}
return 0;
}
问题 C: 等腰梯形
#include<iostream>
#include<string>
using namespace std;
int main(){
int n,m;
cin>>m;
while(m--){
cin>>n;
for(int i=0; i<n; i++){
for(int j=0; j< n-1-i; j++) cout<<" ";
for(int j=0; j<n+2*i; j++) cout<<"*";
cout<<endl;
}
}
return 0;
}
问题 D: 沙漏图形 tri2str [1*+]
#include<iostream>
#include<string>
using namespace std;
int main(){
int n;
while(cin>>n){
for(int i=0; i<n; i++){
for(int j=0; j<i; j++) cout<<" ";
for(int j=0; j<n-i; j++) cout<<"* ";
cout<<endl;
}
for(int i=1; i<n; i++){
for(int j=0; j<n-1-i; j++) cout<<" ";
for(int j=0; j<i+1; j++) cout<<"* ";
cout<<endl;
}
}
return 0;
}