输入格式:
输入在一行中给出正方形边长 N(3≤N≤20)和组成正方形边的某种字符 C,间隔一个空格。
输出格式:
输出由给定字符 C 画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的 50%(四舍五入取整)。
输入样例:
10 a
输出样例:
aaaaaaaaaa
a a
a a
a a
aaaaaaaaaa
思路:
从上到下分成三块分别打印
AC代码:
#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;
int main()
{
int N;
char C;
cin >> N >> C;
//第一行
for (int i = 0; i < N; i++) {
cout << C;
}
cout << endl;
//中间
for (int i = 0; i < round(N / 2.0) - 2; i++) {
for (int j = 0; j < N; j++) {
if (j == 0 || j == N - 1) {
cout << C;
}
else {
cout << " ";
}
}
cout << endl;
}
//最后一行
for (int i = 0; i < N; i++) {
cout << C;
}
// system("pause");
return 0;
}
总结:
1.注意题目的关键词,很可能就是在提示你某个测试用例,比如本题的四舍五入取整
2.程序要写的有一般性,在分析时只考虑某个情况是不行的