写一段C语言代码初始化一个二维数组 D[n][n],用于记录 n 个点之间的距离。其中,当 i = j 时,表示同一个点,距离为 0;当 i ≠ j 时,表示两个不同的点,距离初始化为 -1,表示两个点之间无法到达。
时间: 2024-03-09 15:44:51 浏览: 51
以下是一段 C 语言代码,用于初始化一个二维数组 D[n][n],其中 i 表示起点,j 表示终点,D[i][j] 表示从起点 i 到终点 j 的距离。
```c
int D[n][n]; // 定义二维数组 D[n][n]
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (i == j) {
D[i][j] = 0; // 当 i = j 时,表示同一个点,距离为 0
} else {
D[i][j] = -1; // 当 i ≠ j 时,表示两个不同的点,距离初始化为 -1
}
}
}
```
在代码中,使用两重循环遍历二维数组,当 i = j 时,将元素 D[i][j] 初始化为 0;当 i ≠ j 时,将元素 D[i][j] 初始化为 -1,表示两个点之间无法到达。这段代码简洁易懂,可以方便地应用到各种问题中。
相关问题
输入一个整数n(n<10)。生成形如运行示例中的二维数组并输出c语言
好的,以下是一个C语言的示例程序,可以根据输入的n生成对应的二维数组,并输出到控制台:
```c
#include <stdio.h>
int main() {
int n, i, j;
printf("请输入n:");
scanf("%d", &n);
// 初始化二维数组
int arr[n][n];
// 填充数组
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
if (i == j) {
arr[i][j] = n;
} else if (i > j) {
arr[i][j] = i - j;
} else {
arr[i][j] = j - i;
}
}
}
// 输出数组
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
你可以将这段代码复制到C语言的开发环境中编译和运行,输入n后就可以得到对应的二维数组了。
输入一个整数n(n<10)。生成形如运行示例中的二维数组并输出。c语言
好的,以下是一个C语言的示例程序,可以根据输入的n生成对应的二维数组,并输出到控制台:
```c
#include <stdio.h>
int main() {
int n, i, j;
printf("请输入n:");
scanf("%d", &n);
// 初始化二维数组
int arr[n][n];
// 填充数组
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
if (i == j) {
arr[i][j] = n;
} else if (i > j) {
arr[i][j] = i - j;
} else {
arr[i][j] = j - i;
}
}
}
// 输出数组
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
你可以将这段代码复制到C语言的开发环境中编译和运行,输入n后就可以得到对应的二维数组了。
阅读全文