当前位置:   article > 正文

CCF-GESP计算机学会等级考试2024年3月二级C++T2小杨的日字矩阵

小杨的日字矩阵
试题名称 :小杨的日字矩阵
3.2.1
问题描述
小杨想要构造一个 N*N 的日字矩阵(N 为奇数),具体来说,这个矩阵共有 N 行,每行 N 个字符,其中最左列、最右列都是 | ,而第一行、最后一行、以及中间一行(即第(n+1)/2行)的第 2~N-1个字符都是 - ,其余所 有字符都是半角小写字母 x 。例如,一个 N=5的日字矩阵如下:
  1. |---|
  2. |xxx|
  3. |---|
  4. |xxx|
  5. |---|
请你帮小杨根据给定的 N 打印出对应的 日字矩阵
输入描述
一行一个整数 N( 5<=N<=49,保证 N 为奇数)。
输出描述
输出对应的 日字矩阵
请严格按格式要求输出,不要擅自添加任何空格、标点、空行等任何符号。你应该恰好输出 N 行,每行除了换行符外恰好包含 N 个字符,这些字符要么是 - ,要么是 | ,要么是 x 你的输出必须和标准答案完全一致才能得分, 请在提交前仔细检查。
特别提醒
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任 何提示信息。
样例输入 1
5
样例输出 1
  1. |---|
  2. |xxx|
  3. |---|
  4. |xxx|
  5. |---|
样例输入 2
7
样例输出 2
  1. |-----|
  2. |xxxxx|
  3. |xxxxx|
  4. |-----|
  5. |xxxxx|
  6. |xxxxx|
  7. |-----|

解析:详见代码:

  1. #include <iostream>
  2. using namespace std;
  3. int main() {
  4. int n;
  5. cin >> n;
  6. for (int i = 0; i < n; ++i) {
  7. for (int j = 0; j < n; ++j) {
  8. char ch;
  9. if (j == 0 || j == n - 1) {
  10. ch = '|';
  11. } else if (i == 0 || i == n - 1 || i == n / 2) {
  12. ch = '-';
  13. } else {
  14. ch = 'x';
  15. }
  16. cout << ch;
  17. }
  18. cout << endl;
  19. }
  20. return 0;
  21. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/707102
推荐阅读
相关标签
  

闽ICP备14008679号