C语言循环不执行语句,求大神来看一下 为什么for循环中scanf语句不执行?
該樓層疑似違規已被系統折疊?隱藏此樓查看此樓
#include
#define MAX_VERTEX_NUM 20
typedef struct{
char vexs[MAX_VERTEX_NUM];// 頂點向量
int AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];// 鄰接矩陣
intvexnum, arcnum;// 頂點數、邊/弧數
}MGraph;int n,path[100];bool visited[MAX_VERTEX_NUM];
int LocateVex(MGraph G,char v)
{for(int i=0;i
if(G.vexs[i] == v)
return i;
return -1;
}MGraph CreateMDG()
{int i,j,k;
char v1,v2;
MGraph G;
printf("輸入定點數 邊數");
scanf("%d%d",&G.vexnum, &G.arcnum);
/* IncInfo為0則弧不含其它信息 */
printf("輸入頂點名稱");
for(i=0;i
{scanf("%c",&G.vexs[i]);printf("%d",i);}for(i=0;i
for(j=0;j
{G.AdjMatrix[i][j]=0;}
printf("輸入BIAN");
for(k=0;k
{printf("%d",G.arcnum);
scanf("%c%c",&v1,&v2); /* 輸入邊v1,v2*/
i=LocateVex(G,v1);
j=LocateVex(G,v2);
G.AdjMatrix[i][j]=G.AdjMatrix[j][i]=1;
}
return G;}
void DFS(MGraph G,char v)
{int j,i;i = LocateVex(G,v);
visited[i]=true;
path[n]=i;
n++;
if(n==G.vexnum)
for(i=0;i
printf("%d",path[i]);
/* 符合條件,輸出該簡單路徑*/
for(j=0; j
if( G.AdjMatrix[i][j]&& !visited[j])
DFS(G,G.vexs[j]);
visited[i]=false; //查找失敗時,回溯處理
n--;}void Hamilton(MGraph G)
{int i;
for(i=0;i
visited[i]=false;
n=0;
for(i=0;i
if (!visited[i])
DFS(G,i); }
void main()
{
MGraph G;
G=CreateMDG();
Hamilton(G);
}
總結
以上是生活随笔為你收集整理的C语言循环不执行语句,求大神来看一下 为什么for循环中scanf语句不执行?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据挖掘案例
- 下一篇: 计算机怎么新建word文档,右键新建没有