问题描述
- VIS C++ 实现螺旋渐开矩阵
- VSI C++ 实现螺旋渐开矩阵,怎么编程?VSI C++ 实现螺旋渐开矩阵,怎么编程?
解决方案
#include <iostream>#include <iomanip>using namespace std;// 输出螺旋矩阵void Matrix(){ const int size = 10; // 矩阵大小 int matrix[size][size] = {0}; int row = 0; int col = 0; int start = 1; // 起始值 int temp = size; for (int count = 0; count < size / 2; count++) // size阶的矩阵可以画size/2个圈 { for (; col < temp - 1; col++) // a排赋值 matrix[row][col] = start++; for (; row < temp - 1; row++) // b排赋值 matrix[row][col] = start++; for (col = temp - 1; col > count; col--) // c排赋值 matrix[row][col] = start++; for (row = temp - 1; row > count; row--) // d排赋值 matrix[row][col] = start++; // 进入下一圈 temp--; row++; start -= 1; // 这里-1是因为在换圈的时候会多加1 } if (0 != size % 2) // 如果size为奇数则最后会有一个数遍历不到,这里补上 matrix[row][col+1] = start + 1; // 输出数组 for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { cout << setw(5) << matrix[i][j]; } cout << endl; }}int main(int argc char **argv){ Matrix(); return 0;}
解决方案二:
http://download.csdn.net/download/you_meeeee/1860564
时间: 2024-12-25 16:45:13