题目描述
输入一个正整数n,表示矩阵的行数和列数,生成如下矩阵并进行输出。例如:输入3,则输出
1 3 4
2 5 8
6 7 9
输入描述
一行包含一个整数 n,表示矩阵的行数和列数。
输出描述
一个n行n列的矩阵
样例1
输入
3
输出
1 3 4
2 5 8
6 7 9
提示
1 <= n <= 100
该回答引用ChatGPT
以下是一个C++代码示例,用于生成并输出矩阵:
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int mat[n][n];
int num = 1;
// 生成矩阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (i+j < n) {
mat[i][j] = num++;
} else {
mat[i][j] = 0;
}
}
}
// 输出矩阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (mat[j][i] != 0) {
cout << mat[j][i] << " ";
}
}
cout << endl;
}
return 0;
}
#include <stdio.h>
int main() {
int n;
printf("请输入一个正整数n(1<=n<=100):");
scanf("%d", &n);
while (n < 1 || n > 100) {
printf("输入错误,请重新输入一个正整数n(1<=n<=100):");
scanf("%d", &n);
}
int matrix[n][n];
int num = 1;
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
matrix[j][i-j] = num++;
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
该程序首先从标准输入中读取一个正整数n,表示矩阵的行数和列数。接下来,创建一个n行n列的矩阵,并使用两个嵌套循环遍历每个元素,将其赋值为从1开始递增的数字。最后,使用另外两个嵌套循环遍历整个矩阵,并输出每个元素的值。