用c语言实现在一个无向图中根据定点和边建立一个邻接矩阵,且输入输出的数据都在屏幕显示
时间: 2024-04-07 07:32:08 浏览: 75
无向图的建立和邻接矩阵的输出
5星 · 资源好评率100%
好的,下面是用C语言实现在一个无向图中根据定点和边建立一个邻接矩阵的代码:
```c
#include <stdio.h>
#define MAX_VERTEX_NUM 100 // 最多顶点数
int main() {
int matrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM]; // 邻接矩阵
int n, m; // 点数和边数
int u, v; // 边的起点和终点
printf("请输入点数和边数(以空格分隔):");
scanf("%d %d", &n, &m);
// 初始化邻接矩阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
matrix[i][j] = 0;
}
}
// 输入边
printf("请输入每条边(以起点和终点分隔,每条边占一行):\n");
for (int i = 0; i < m; i++) {
scanf("%d %d", &u, &v);
matrix[u][v] = matrix[v][u] = 1; // 无向图,设置对称位置为1
}
// 输出邻接矩阵
printf("邻接矩阵如下:\n");
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
运行示例:
```
请输入点数和边数(以空格分隔):5 6
请输入每条边(以起点和终点分隔,每条边占一行):
0 1
0 2
1 2
1 3
2 4
3 4
邻接矩阵如下:
0 1 1 0 0
1 0 1 1 0
1 1 0 0 1
0 1 0 0 1
0 0 1 1 0
```
阅读全文