函数递归 水洼数
作者:互联网
#include <stdio.h>
#define M 7
#define N 7
int water_zero(int a[][N],int i,int j)
{
if(a[i][j]==1)
{
a[i][j]=0;
water_zero(a,i+1,j);
water_zero(a,i,j+1);
water_zero(a,i-1,j);
water_zero(a,i,j-1);
}
}
int water(int a[][N])
{
int num = 0;
for(int i=1;i < M-1;i++)
{
for(int j=1;j < N-1;j++)
{
if(a[i][j]==1)
{
num++;
water_zero(a,i,j);
}
}
}
return num;
}
int main()
{
int a[M][N]={0};
printf("请输入水洼分布情况\n");
for(int i=1;i < M-1;i++)
{
for(int j=1;j < N-1;j++)
{
scanf("%d",&a[i][j]);
}
}
printf("水洼数为:%d\n",water(a));
return 0;
}
标签:水洼,函数,递归,int,water,++,zero,num 来源: https://blog.csdn.net/qq_65199654/article/details/122656167