squarePatternPrint

来源:互联网 发布:电子图书数据库有哪些 编辑:程序博客网 时间:2024/06/18 04:59

//给定一个整数n, 以下列方式打印n行://如果n = 4, 生成的阵列为//1 * 2 * 3 * 4//9 * 10 * 11 * 12//13 * 14 * 15 * 16//5 * 6 * 7 * 8//每行只能输出数字和*,不能有空格#include <iostream>#include <vector>#include <queue>using namespace std;int main(){int n = 0;cin >> n;queue<int> q;for (int i = 1; i <= n*n; i++)q.push(i);//把1 2 3 .....n*n放到一个队列里面vector <vector <int>> vv;for (int i = 0; i < n; i++)vv.push_back(vector<int>());//填充vv的大小为nbool flag = true;int x = 0, y = n - 1;for (int i = 0; i < n; i++){vector<int> v;if (flag){for (int i = 0; i < n; i++){int t = q.front();q.pop();v.push_back(t);}vv[x] = v;x++;flag = false;}else{for (int i = 0; i < n; i++)//每一行的数据也是n个{int t = q.front();q.pop();v.push_back(t);}vv[y] = v;y--;flag = true;}}for (int i = 0; i < n; i++)//打印输出vv{for (int j = 0; j < n - 1; j++){cout << vv[i][j] << "*";}cout << vv[i][n - 1] << endl;}return 0;}


0 0
原创粉丝点击