3005 - 【验证型】第11章:指针和数组 动态数组(1)

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

现请你构建一个N*N的矩阵,第i行j列的元素为i与j的乘积。(i,j均从1开始)

题目输入

输入的第一行为一个正整数C,表示测试样例的个数。
然后是C行测试样例,每行为一个整数N(1<=N<=9),表示矩阵的行列数。

题目输出

对于每一组输入,输出构建的矩阵。(最后输出有回车,并无多于空格)

输入/输出样例

输入格式

2
1
4

输出格式

1
1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16

C++解答

#include<iostream>
#include<cmath>
using namespace std;

int main()
{
	int N;
	cin >> N;
	int *num = new int[N];
	for(int i = 0; i < N; i++)
	{
		cin >> num[i];
	}
	for(int k = 0; k < N; k++)
	{
		for(int i = 1; i <= num[k]; i++)
	    {
		    for(int j = 1; j <= num[k]; j++)
		    {
		    	if(j == num[k]) cout << i*j;
		    	else cout << i*j << " ";
		    }
		    cout << endl;
	    }
	}
	delete [] num; 
	return 0;
}