在C++中,可以使用递归来实现在不使用任何循环的情况下打印X形状。以下是一个示例代码:
#include <iostream>
void printX(int n, int i, int j) {
if (i >= n) {
return;
}
if (j == i || j == n - i - 1) {
std::cout << "*";
} else {
std::cout << " ";
}
if (j == n - 1) {
std::cout << std::endl;
printX(n, i + 1, 0);
} else {
printX(n, i, j + 1);
}
}
void printXShape(int n) {
printX(n, 0, 0);
}
int main() {
int n = 5; // 设置X的大小
printXShape(n);
return 0;
}
上述代码中,printX
函数使用递归方式打印X形状。参数n
表示X的大小,i
表示当前行数,j
表示当前列数。在每个位置上,如果j
等于i
或者等于n - i - 1
,则打印"*",否则打印空格。当j
达到行末时,换行并递归调用printX
函数打印下一行。
在printXShape
函数中,我们可以设置X的大小,并调用printX
函数开始打印X形状。
这种方法通过递归实现了在不使用循环的情况下打印X形状。
领取专属 10元无门槛券
手把手带您无忧上云