登登灬登登 发表于 2021-6-29 17:32:22

啊啊啊啊为什么照着抄都能有错啊

小甲鱼数据结构,创建邻接矩阵结果跑出来会在输入权值的地方自动循环打印,不能输入{:10_247:}
求大佬指点一下哇{:10_255:}
#include<stdio.h>

typedef char VertexType;        //顶点类型
typedef int EdgeType;                //边上的权值类型
#define MAXVEX 10                        //最大顶点数
#define INFINITY 2047                //表示正无穷

typedef struct
{
        VertexType vexs;        //顶点信息
        EdgeType ARC;        //邻接矩阵
        int VexNum, EdgeNum;                //顶点数,边数
} MGraph;

void CreateMGraph(MGraph *G)
{
        int i, j , w;
        printf("请输入顶点数和边数:\n");
        scanf("%d,%d", &G->VexNum, &G->EdgeNum);

        //顶点表
        printf("\n请依次输入顶点名:\n");
        for (i = 0; i < G->VexNum; i++)
                scanf("%c", &G->vexs);
       

        //初始化邻接矩阵
        for (i = 0; i < G->VexNum; i++)
                for (j = 0; j < G->VexNum; j++)
                        G->ARC = INFINITY;

        for (i = 0; i < G->VexNum; i++)
                for (j = 0; j < G->VexNum; j++)
                {
                        printf("请输入(%d,%d)处权值w:\n", i+1, j+1);
                        scanf("%d", &w);
                        G->ARC = G->ARC = w;
                }
}

int main()
{
        MGraph G;
        CreateMGraph(&G);

        return 0;

}

wsw530 发表于 2021-6-29 17:53:16

scanf("%c", &G->vexs);
这里使用%c会把空格和回车也作为字符读取换成 scanf("%ls", &G->vexs);即可

登登灬登登 发表于 2021-6-29 18:04:02

wsw530 发表于 2021-6-29 17:53
scanf("%c", &G->vexs);
这里使用%c会把空格和回车也作为字符读取换成 scanf("%ls", &G->vexs);即可

感谢大佬,解决了{:10_323:}
页: [1]
查看完整版本: 啊啊啊啊为什么照着抄都能有错啊