用C语言完成下面的任务:在n个城市之间建设网络
时间: 2024-03-06 10:48:04 浏览: 49
好的,我可以帮你完成这个任务。以下是用 C 语言实现的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_CITIES 100
int graph[MAX_CITIES][MAX_CITIES];
int visited[MAX_CITIES];
void dfs(int v, int n) {
visited[v] = 1;
printf("%d ", v);
for (int i = 0; i < n; i++) {
if (graph[v][i] && !visited[i]) {
dfs(i, n);
}
}
}
int main() {
int n, e;
printf("Enter the number of cities: ");
scanf("%d", &n);
printf("Enter the number of connections: ");
scanf("%d", &e);
printf("Enter the connections between cities:\n");
for (int i = 0; i < e; i++) {
int u, v;
scanf("%d %d", &u, &v);
graph[u][v] = 1;
graph[v][u] = 1;
}
printf("The cities connected by the network are:\n");
dfs(0, n);
printf("\n");
return 0;
}
```
这个程序实现了一个简单的深度优先搜索,用来遍历城市之间的网络。我们首先输入城市的数量和网络的连接数,然后输入每个连接的起点和终点。程序使用一个邻接矩阵来保存网络的连接情况,然后使用深度优先搜索来遍历整个网络。最后程序输出遍历的顺序,也就是连接的城市的顺序。
希望这个程序可以帮助到你!
阅读全文