马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
小甲鱼数据结构,创建邻接矩阵结果跑出来会在输入权值的地方自动循环打印,不能输入
求大佬指点一下哇#include<stdio.h>
typedef char VertexType; //顶点类型
typedef int EdgeType; //边上的权值类型
#define MAXVEX 10 //最大顶点数
#define INFINITY 2047 //表示正无穷
typedef struct
{
VertexType vexs[MAXVEX]; //顶点信息
EdgeType ARC[MAXVEX][MAXVEX]; //邻接矩阵
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[i]);
//初始化邻接矩阵
for (i = 0; i < G->VexNum; i++)
for (j = 0; j < G->VexNum; j++)
G->ARC[i][j] = 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[i][j] = G->ARC[j][i] = w;
}
}
int main()
{
MGraph G;
CreateMGraph(&G);
return 0;
}
scanf("%c", &G->vexs[i]);
这里使用%c会把空格和回车也作为字符读取换成 scanf("%ls", &G->vexs[i]);即可
|