B3924 [GSEP202312 二级] 小杨的H字矩阵 题解
CleverRaccoon · · 题解
估值掉了好多,又来写题解了捏。
题目描述
输出一个图形,共 |,中间除了第 - 以外,其它均为 a,最后是一个 |。
思路
按照题目描述模拟即可,但一定要注意输出格式要规范。
从 | 中间输出的元素 a,第 -。
char c='a';
if(i==(n+1)/2)c='-';
然后输出行首的 |。
putchar('|');
接着输出 | 中间输出的元素),使用循环。
for(int j=3;j<=n;j++)putchar(c);
输出行末的 |,与行首的 | 同理,不再赘述。
最后,是换行。换行是很考验规范性的地方,因为最后一行不应有换行,设当前在第
if(i!=n)putchar('\n');
完整代码
#include <bits/stdc++.h>
using namespace std;
int n;
int main(){
cin>>n;
for(int i=1;i<=n;i++){ // 输出共 n 行
char c='a';
if(i==(n+1)/2)c='-'; // 设置当前行要输出的内容
putchar('|');
for(int j=3;j<=n;j++)putchar(c); // 按照格式输出
putchar('|');
if(i!=n)putchar('\n'); // 换行问题
}
return 0;
}