创建带权无向图的邻接矩阵c语言
时间: 2023-12-03 18:04:27 浏览: 136
下面是一个简单的C语言代码示例,用于创建带权无向图的邻接矩阵:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_VERTICES 100
int matrix[MAX_VERTICES][MAX_VERTICES]; // 邻接矩阵
int n; // 顶点数
void createGraph() {
int i, j, weight;
printf("请输入顶点数:");
scanf("%d", &n);
printf("请输入边的权值,如果两个顶点之间没有边,则输入0。\n");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
printf("请输入顶点%d和顶点%d之间的权值:", i+1, j+1);
scanf("%d", &weight);
matrix[i][j] = weight;
}
}
}
void printGraph() {
int i, j;
printf("邻接矩阵为:\n");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
int main() {
createGraph();
printGraph();
return 0;
}
```
这个程序首先会要求用户输入顶点数,然后让用户逐个输入每条边的权值,最后输出邻接矩阵。注意,上面的代码没有对输入的数据进行任何错误检查,为了保证程序的健壮性,应该对输入进行适当的验证和异常处理。
阅读全文