输入整数n,输出一个n阶的二维数组m。这个n阶二维数组满足m[i][j] = 2^(i+j)。具体形式可参考样例。输入格式: 输入一个整数n(0<n≤10)。输出格式: 输出一个满足要求的n阶二维数组,数组占n行,每行包含n个整数,占8格,右对齐。C语言
时间: 2024-03-20 07:41:54 浏览: 69
好的,以下是 C 语言代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main() {
int n;
scanf("%d", &n);
// 分配 n 阶二维数组的内存空间
int **m = (int **)malloc(n * sizeof(int *));
for (int i = 0; i < n; i++) {
m[i] = (int *)malloc(n * sizeof(int));
}
// 构造 n 阶二维数组
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
m[i][j] = pow(2, i+j);
}
}
// 输出 n 阶二维数组
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
printf("%8d", m[i][j]);
}
printf("\n");
}
// 释放内存空间
for (int i = 0; i < n; i++) {
free(m[i]);
}
free(m);
return 0;
}
```
输入一个整数n,程序就会自动生成一个满足要求的 n 阶二维数组。输出的每个元素都占 8 个字符,右对齐。希望能够帮助到你!
阅读全文