统计"相交点数的个数"最多的数是几的问题
我编写了如下一段程序:#include <stdio.h>
int main()
{ int a[13][13]={{1,2,3,4,5,6,7,8,9,10,11,12,13},
{7,7,7,7,7,7,7,7,7,7,7,7,7},
{7,7,7,7,7,7,7,7,7,7,7,7,7},
{7,7,7,7,7,7,7,7,7,7,7,7,7},
{8,8,8,8,8,8,8,8,8,8,8,8,8},
{7,7,7,7,7,7,7,7,7,7,7,7,7},
{7,7,7,7,7,7,7,7,7,7,7,7,7},
{7,7,7,7,7,7,7,7,7,7,7,7,7},
{7,7,7,7,7,7,7,7,7,7,7,7,7},
{8,8,8,8,8,8,8,8,8,8,8,8,8},
{7,7,7,7,7,7,7,7,7,7,7,7,7},
{7,7,7,7,7,7,7,7,7,7,7,7,7},
{7,7,7,7,7,7,7,7,7,7,7,7,7},};
int j,m1,m2,m3,m4,m5,m6,k0=1,k1=1,i,p=13,q=7;
for(i=0;i<13;i++)
{ for(j=0;j<13;j++)
printf("%d ",a[i][j]);
printf("\n"); }
for(m1=1;m1<p;m1++)
{ if(a[m1][0]==7 )
{ k0=k0+1;
printf("m1=%d ",m1);
printf("相交点数是:%d,%d ",1,1+m1);
printf(" 相交点数是:%d,%d\n",1,p-m1+1);
for(m2=1;m2<p-m1;m2++)
if(a[m1+m2][0]==7 && a[m2][m1]==7 )
{ k0=k0+1;
printf("m2=%d ",m2);
printf("相交点数是:%d,%d,%d",1,1+m1,1+m1+m2);
printf(" 相交点数是:%d,%d,%d\n ",1,1+m1,p);
for(m3=1;m3<p-m1-m2;m3++)
if(a[m1+m2+m3][0]==7 && a[m2+m3][m1]==7 && a[m3][m1+m2]==7 )
{ k0=k0+1;
printf("m3=%d ",m3);
printf("相交点数是:%d,%d,%d,%d ",1,1+m1,1+m1+m2,1+m1+m2+m3);
printf(" 相交点数是:%d,%d,%d,%d\n",1,1+m1,1+m1+m2,p);
for(m4=1;m4<p-m1-m2-m3;m4++)
if(a[m1+m2+m3+m4][0]==7 && a[m2+m3+m4][m1]==7 && a[m3+m4][m1+m2]==7 && a[m4][m1+m2+m3]==7)
{ k0=k0+1;
printf("m4=%d ",m4);
printf("相交点数是:%d,%d,%d,%d,%d",1,1+m1,1+m1+m2,1+m1+m2+m3,1+m1+m2+m3+m4);
printf(" ----- \n"); }
printf(" ----- \n"); }
printf(" ----- \n"); }
printf("----- \n"); }
}
printf("计算0结束\n");
printf("统计:\n");
printf("k0=%d\n",k0);
return 0;
}
我想统计:“相交点数是”里面点数的个数最多的是几个:
比如: 这里相交点数的个数是2.
这里相交点数的个数是5.
这里相交点数的个数是4
这里相交点数的个数是不一样的,请问怎么找出个数最多的数(5)
我这里统计的数是138,明显不对,请问该如何改。