c语言 题目描述 输入整数 n,输出一个 n 阶的二维数组 m。 这个 n 阶二维数组满足 m[i][j] = 2^(i+j)(即 2 的 i+j 次方)。 具体形式可参考样例。 输入格式: 输入一个整数 n(0<n≤10)。 输出格式: 输出一个满足要求的 n 阶二维数组,数组占 n 行,每行包含 n 个整数,占 8 格,右对齐。 输入样例: 3 输出样例: 1 2 4 2 4 8 4 8 16
时间: 2024-02-15 08:05:47 浏览: 59
这道题目需要使用双重循环来赋值和输出二维数组。具体实现可以参考下面的代码:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int n;
scanf("%d", &n); // 输入 n
int arr[n][n];
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
arr[i][j] = pow(2, i + j); // 赋值
printf("%8d", arr[i][j]); // 输出
}
printf("\n");
}
return 0;
}
```
需要注意的是,数组元素需要占 8 位,需要使用 `%8d` 的格式化输出。求幂可以使用 `pow()` 函数。
阅读全文