题目描述 现请你构建一个N*N的矩阵,第i行j列的元素为i与j的乘积。(i,j均从1开始) 输入 输入的第一行为一个正整数C,表示测试样例的个数。 然后是C行测试样例,每行为一个整数N(1<=N<=9),表示矩阵的行列数。 输出 对于每一组输入,输出构建的矩阵。
时间: 2023-09-17 19:06:13 浏览: 159
输入一个矩阵,输出一个结果
### 回答1:
#include <iostream>
using namespace std;
int main() {
int c;
cin >> c;
while (c--) {
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
cout << i*j << " "; //输出第i行j列的元素
}
cout << endl; //每行结束后换行
}
}
return 0;
}
### 回答2:
题目要求构建一个N*N的矩阵,第i行j列的元素为i与j的乘积。即矩阵的第i行第j列的元素为i*j。
输入的第一行为一个正整数C,表示测试样例的个数。
然后是C行测试样例,每行为一个整数N(1<=N<=9),表示矩阵的行列数。
对于每一组输入,输出构建的矩阵。
具体实现如下:
```python
C = int(input()) # 输入测试样例的个数
for _ in range(C):
N = int(input()) # 输入矩阵的行列数
matrix = [] # 定义一个空的矩阵
# 构建矩阵
for i in range(1, N+1):
row = [] # 行列表示矩阵的每一行
for j in range(1, N+1):
row.append(i * j) # 添加每个元素
matrix.append(row) # 将行添加到矩阵中
# 输出矩阵
for row in matrix:
print(' '.join(map(str, row))) # 将每一行的元素转化为字符串,并用空格连接起来
```
这样,对于输入的每个测试样例,都会输出对应的构建的矩阵。每行的元素之间用空格隔开。
### 回答3:
题目要求我构建一个N*N的矩阵,其中矩阵中第i行j列的元素为i与j的乘积。输入为一个正整数C,表示测试样例的个数,接下来是C行的测试样例,每行一个整数N,表示矩阵的行列数。输出为构建的矩阵。
我首先根据输入的测试样例个数C进行循环,每次循环生成一个矩阵。
对于每个测试样例,我根据输入的行列数N初始化一个全零的N*N矩阵。
然后,我使用两层循环,外层循环控制行数i,内层循环控制列数j。在内层循环中,将矩阵第i行j列的元素赋值为i与j的乘积。
完成内外层循环后,我们得到了一个满足要求的N*N矩阵。
最后,输出这个矩阵。
下面是完整的代码实现:
```python
C = int(input()) # 输入测试样例个数
for _ in range(C):
N = int(input()) # 输入矩阵的行列数
matrix = [[0] * N for _ in range(N)] # 初始化一个全零矩阵
for i in range(N):
for j in range(N):
matrix[i][j] = (i + 1) * (j + 1) # 将矩阵第i行j列的元素赋值为i与j的乘积
for row in matrix:
print(" ".join(map(str, row))) # 输出每一行的元素,并用空格分隔
```
以上就是根据题目要求构建N*N矩阵的代码实现和解答。
阅读全文