解题思路:
首先用一个字符数组,之后全部填充为空格,可以看出输出是正对角与反对角,输出的时候判断一下就好了!
注意事项:
主要注意下一个重复渡的第一行是跟上一行重复的,用memset需要加头文件cstring
参考代码:
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int c = 0;
int n;
int a, b;
char arr[40][40];
cin >> n;
while (c++ < n)
{
for (int i = 0; i < 40; i++)
memset(arr[i], ' ', 40);
cin >> a >> b;
for (int k = 0; k < b; k++)
{
int i;
if (k == 0)
i = 0;
else
i = 1;
for (; i < a; i++)
{
for (int j = 0; j < a; j++)
if (i == j | a-1-j == i)
cout << 'X';
else
cout << arr[i][j];
cout << endl;
}
}
cout << endl;
}
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题6.11 (C++代码)(有个库函数叫sqrt)浏览:867 |
C语言程序设计教程(第三版)课后习题12.2 (C语言代码)浏览:813 |
C语言程序设计教程(第三版)课后习题12.3 (C语言代码)浏览:837 |
蓝桥杯历届试题-九宫重排 (C++代码)浏览:2784 |
回文串 (C语言代码)浏览:2860 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:718 |
简单的a+b (C语言代码)浏览:695 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:545 |
三角形 (C++代码)递推浏览:760 |
完数 (C语言代码)浏览:693 |