图形打印题目总结"/>
图形打印题目总结
题目一:输入一个整数n:打印2 * n层的菱形
代码
#include<iostream>
#include<math.h>
using namespace std;
int main(){int n;cin>>n;for(int i=0;i<n;i++){for(int j=0;j<n-1-i;j++) cout<<" ";for(int j=0;j<2*i+1;j++) cout<<"*";cout<<endl;}for(int i=0;i<n;i++){for(int j=0;j<i;j++) cout<<" ";for(int j=0;j<2*(n-i)-1;j++) cout<<"*";cout<<endl;}
}
样例:输入n = 4
输出
*********
*******
****************
题目二:输入一个整数n,打印菱形字母,字母从A开始,每次递增,到达中间之后又依次递减
代码
#include <bits/stdc++.h>
using namespace std;int main() {int n;cin>>n;char ch = 'A';for(int i=0;i<n;i++){for(int j=0;j<n-i-1;j++) cout<<" ";for(int j=0;j<2*i+1;j++) cout<<ch;cout<<endl;ch++;}ch -= 2;for(int i=1;i<n;i++){for(int j=0;j<i;j++) cout<<" ";for(int j=0;j<2*(n-i)-1;j++) cout<<ch;ch--;cout<<endl;}
}
样例:输入n = 4
输出
ABBBCCCCC
DDDDDDDCCCCCBBBA
题目三:输入一个整数,打印菱形,每行从A开始,依次底层,到达一半之后依次递减,最后回到A
代码
#include <bits/stdc++.h>
using namespace std;int main() {int n;cin>>n;for(int i=0;i<n;i++){char ch = 'A';for(int j=0;j<n-i-1;j++) cout<<" ";for(int j=0;j<2*i+1;j++){cout<<ch;if(j<i) ch++;else ch--;}cout<<endl;}for(int i=1;i<n;i++){char ch = 'A';for(int j=0;j<i;j++){cout<<" ";}for(int j=0;j<2*(n-i)-1;j++){cout<<ch;if(j<=n-i) ch++;else ch--;}cout<<endl;}
}
样例:输入n = 4
输出
AABAABCBA
ABCDCBAABCBAABCA
题目四:打印房子,输入两个数如:2 2,输出被包裹的2 * 2的星号
输出:被房子包裹的四个星号
+-+-+
|*|*|
+-+-+
|*|*|
+-+-+
代码
#include<bits/stdc++.h>
using namespace std;int main(){int n,m;cin>>n>>m;int start = 0,end = 0,sum = 2 * n + 1;bool flag = false;while(true){if((start & 1) == 0){for(int i=0;i<sum;i++){if((i&1) == 0) cout<<"+";else cout<<"-";}}else{for(int i=0;i<sum;i++){if((i&1) == 0) cout<<"|";else {cout<<"*";end++;if(end==n*m) flag = true; }}}if(flag){cout<<endl;for(int i=0;i<sum;i++){if((i&1) == 0) cout<<"+";else cout<<"-";}break;}cout<<endl;start++;}return 0;
}
样例:输入n = 5,m = 5
输出:
+-+-+-+-+-+
|*|*|*|*|*|
+-+-+-+-+-+
|*|*|*|*|*|
+-+-+-+-+-+
|*|*|*|*|*|
+-+-+-+-+-+
|*|*|*|*|*|
+-+-+-+-+-+
|*|*|*|*|*|
+-+-+-+-+-+
更多推荐
图形打印题目总结
发布评论