C语言程序设计c++ 输入整数n(n在1-20之间),输出蛇形矩阵。要求中间最小,然后往外慢慢变大。要求有一个数字一个数字出现的动画效果。如输入3,则输出 789 612 543
时间: 2023-11-28 12:48:29 浏览: 80
以下是C++程序实现:
```c++
#include <iostream>
#include <iomanip>
#include <windows.h> // 用于延时
using namespace std;
int main()
{
int n;
cout << "请输入一个整数n(n在1-20之间):";
cin >> n;
int a[20][20] = {0}; // 初始化矩阵
int l = 0, r = n - 1, t = 0, b = n - 1; // 四个方向的边界
int num = 1; // 要填充的数字
while (num <= n * n)
{
for (int i = l; i <= r; i++) // 从左到右
{
a[t][i] = num++;
Sleep(100); // 延时100毫秒,产生动画效果
}
for (int i = t + 1; i <= b; i++) // 从上到下
{
a[i][r] = num++;
Sleep(100);
}
for (int i = r - 1; i >= l; i--) // 从右到左
{
a[b][i] = num++;
Sleep(100);
}
for (int i = b - 1; i > t; i--) // 从下到上
{
a[i][l] = num++;
Sleep(100);
}
l++; r--; t++; b--; // 缩小边界
}
// 输出蛇形矩阵
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
cout << setw(3) << a[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
程序中使用了 `windows.h` 库中的 `Sleep` 函数来产生动画效果。
阅读全文