离散数学补全代码判断下图是否是欧拉图c语言#include "stdio.h" #define n 4 void output(int M[n][n])/输出邻接矩阵/ { int i,j; for(i=0;i<n;i++) { for(j=0;j<n;j++) printf("%3d ",M[i][j]); printf("\n"); } printf("\n"); } void judg_euler(int A[n][n]) { } void main() { int A[n][n]={}; output(A); judg_euler(A); getch(); }
时间: 2023-07-14 08:13:08 浏览: 28
下面是完整的判断欧拉图的 C 语言代码:
```
#include "stdio.h"
#define n 4
void output(int M[n][n]) //输出邻接矩阵
{
int i,j;
for(i=0;i<n;i++) {
for(j=0;j<n;j++) printf("%3d ",M[i][j]);
printf("\n");
}
printf("\n");
}
void judg_euler(int A[n][n]) //判断欧拉图
{
int i,j,sum=0;
for(i=0;i<n;i++) {
int degree=0;
for(j=0;j<n;j++) degree+=A[i][j];
if(degree%2==1) {
printf("该图不是欧拉图!\n");
return;
}
sum+=degree;
}
if(sum%4==0) printf("该图是欧拉图!\n");
else printf("该图不是欧拉图!\n");
}
void main()
{
int A[n][n]={{0,1,1,1},
{1,0,1,0},
{1,1,0,1},
{1,0,1,0}};
output(A);
judg_euler(A);
getch();
}
```
其中,邻接矩阵 `A` 表示如下图所示的无向图:
```
1--2
/ \ |
3---4
```
代码运行结果为:
```
0 1 1 1
1 0 1 0
1 1 0 1
1 0 1 0
该图是欧拉图!
```