关于输入缓存区的问题(图的邻接矩阵)
Status CreateDG(MGraph *G) /* create digraph */
{
int i,j,k;
char v1,v2;
printf("Please input G.vernum,G.arcnum:");
scanf("%d,%d",&(*G).vexnum,&(*G).arcnum);
getchar(); 这里不加就会出错
printf("input vertex:");
for(i=0;i<(*G).vexnum;i++) /* create the array of vertex */
scanf("%c",&(*G).vexs[i]);
(*G).vexs[i]='\0';
for(i=0;i<(*G).vexnum;i++) /* initial the adjcent matrix */
for(j=0;j<(*G).vexnum;j++)
(*G).arcs[i][j].adj=0;
getchar(); 这里不加就会出错
for(k=0;k<(*G).arcnum;k++)
{
printf("Please input v1,v2 of arc:"); /* input a arc's message */
scanf("%c,%c",&v1,&v2);
getchar(); 这里不加就会出错
i=LocateVex(*G,v1); /* find the positon of v1,v2 in vexs*/
j=LocateVex(*G,v2);
(*G).arcs[i][j].adj=1; /* create the adjcent matrix */
}
return OK;
}