c语言输入整数n,输出一个n阶的二维数组m。 这个n阶二维数组满足m[i][j] = 2^(i+j)。 具体形式可参考样例。 输入格式: 输入一个整数n(0<n≤10)。 输出格式: 输出一个满足要求的n阶二维数组,数组占n行,每行包含n个整数,占8格,右对齐。
时间: 2024-03-30 12:35:08 浏览: 51
C语言第07章-一维数组和二维数组1完整.pptx
好的,以下是 C 语言的实现代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int n;
scanf("%d", &n);
int **matrix = (int **)malloc(n * sizeof(int *));
for (int i = 0; i < n; i++)
matrix[i] = (int *)malloc(n * sizeof(int));
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
matrix[i][j] = pow(2, i + j);
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
printf("%8d", matrix[i][j]);
printf("\n");
}
for (int i = 0; i < n; i++)
free(matrix[i]);
free(matrix);
return 0;
}
```
输入一个整数 n,动态分配一个二维数组 matrix 存储矩阵,然后使用两层循环遍历矩阵的每一个元素,使用 pow 函数计算 2 的 i+j 次方。最后使用两层循环按照要求输出矩阵的每一个元素,注意控制每个元素输出占用 8 列,右对齐。释放动态分配的内存并返回 0。
阅读全文