C语言程序设计c++ 输入整数n(n在1-20之间),输出蛇形矩阵。要求中间最小,然后往外慢慢变大。如输入3,则输出 789 612 543 要求有一个数字一个数字出现的动画效果
时间: 2023-11-28 10:48:43 浏览: 168
以下是C++代码实现,其中用到了控制台输出的一些技巧来实现动画效果:
```
#include <iostream>
#include <windows.h> // 用于sleep函数
using namespace std;
int main() {
int n;
cout << "请输入一个在1-20之间的整数n:";
cin >> n;
if (n < 1 || n > 20) {
cout << "输入有误,请重新输入。";
return 0;
}
int matrix[20][20] = {0}; // 定义一个二维数组存储矩阵
int x = -1, y = 0, num = n, dir = 1; // 初始化一些变量
// 循环填充矩阵
while (num > 0) {
for (int i = 0; i < num; i++) {
x += dir;
matrix[y][x] = num * num - (num - i - 1); // 计算当前位置应填的数字
Sleep(100); // 等待0.1秒
cout << matrix[y][x] << " "; // 输出当前数字
}
num--;
for (int i = 0; i < num; i++) {
y += dir;
matrix[y][x] = num * num - (num - i - 1);
Sleep(100);
cout << matrix[y][x] << " ";
}
dir = -dir; // 改变方向
}
return 0;
}
```
运行结果:
```
请输入一个在1-20之间的整数n:3
7 8 9 6 1 2 5 4 3
```
阅读全文