用c语言和数据结构知识编写程序,要求如图所示,做成压缩包给我

 

#include<stdio.h>

#include<string.h>

 

int min = 9999999, book[101], n;

 

int e[7][7] = {{1000,1000,220,1000,300,0,0},

                {0,0,130,99999999,110,99999999,99999999},

                {0,130,0,100,99999999,99999999,99999999},

                {0,99999999,100,0,99999999,170,220},

                {0,110,99999999,99999999,0,60,99999999},

                {0,99999999,99999999,170,60,0,300},

                {0,99999999,99999999,220,99999999,300,0}};

 

void dfs(int cur, int dis){

    int j;

    if(dis > min) return;

    if(cur == n){

        if(dis < min){

            min = dis;

        }

        return;

    }

 

    for(j = 1; j <= n; j++){

        if(e[cur][j] != 99999999 && book[j] == 0){

            book[j] = 1;

            dfs(j, dis + e[cur][j]);

            book[j] = 0;

        }

    }

    return;

}

int main(void){

    int m,t;

    int k, l;

    char ch[100];

 

 

 

    printf("请输入起点:");

    scanf("%s", ch);

    if(!strcmp(ch, "东莞"))

        m = 1;

    else if(!strcmp(ch, "清远"))

        m = 2;

    else if(!strcmp(ch, "贺州"))

        m = 3;

    else if(!strcmp(ch, "肇庆"))

        m = 4;

    else if(!strcmp(ch, "梧州"))

        m = 5;

    else if(!strcmp(ch, "桂林"))

        m = 6;

 

    printf("请输入终点:");

    scanf("%s", ch);

    if(!strcmp(ch, "东莞"))

        n = 1;

    else if(!strcmp(ch, "清远"))

        n = 2;

    else if(!strcmp(ch, "贺州"))

        n = 3;

    else if(!strcmp(ch, "肇庆"))

        n = 4;

    else if(!strcmp(ch, "梧州"))

        n = 5;

    else if(!strcmp(ch, "桂林"))

        n = 6;

    if(m > n){

        t = m;

        m = n;

        n = t;

    }

    book[m] = 1;

    dfs(m,0);

    printf("%d\n", min);

 

    getchar();

    getchar();

 

    return 0;

}

参考https://blog.csdn.net/qq_35924276/article/details/81871274

可视化

帮我做成这种

 

C代码写完了,你这是要MFC的吗?