皮皮网
皮皮网
中国象棋 java源码

【播音源码】【黄金通道指标源码买卖】【只看眼下指标公式源码】c扫雷源码

时间:2024-11-20 21:30:38 分类:知识 编辑:仿天堂祭祀网源码
1.扫雷 c语言代码 告诉我~~
2.c语言怎么变的雷源出扫雷

c扫雷源码

扫雷 c语言代码 告诉我~~

       北京理工大学电子信息谢锦峰的答案,只要不是雷源播音源码很奇怪的输入就应该可以过。

       然而北理网络教室的雷源黄金通道指标源码买卖一个隐藏用例过不了。艹

       #include<stdio.h>

        struct lei

        { int n,雷源只看眼下指标公式源码m;

        char ch[][];

        };

       static struct lei work[];

       void output(int ii);

       int jishu(int j,int k,int ii);

       void main()

       { int pd1=1,pd2=1; int i=1,j,k;

       int flag=1;

       while(flag)

        { scanf("%d%d",&pd1,&pd2);getchar();

        //printf("%d,%d\n",pd1,pd2);

        if(pd1==0||pd2==0) flag=0;

        else

        { work[i].n=pd1;

        work[i].m=pd2;

        for(j=1;j<=work[i].n;j++)

        { for(k=1;k<=work[i].m;k++)

        scanf("%c",&work[i].ch[j][k]);

        getchar();

        }

        i++;

        }

        }

        /*for(j=1;j<=work[i].n;j++)

        { for(k=1;k<=work[i].m;k++)

        printf("%c,",&work[i].ch[j][k]);

        printf("\n");

        }*/

        int ii;

        for(ii=1;ii<=i-1;ii++)

        { if(ii==1)printf("Field #%d:\n",ii);

        else printf("\nField #%d:\n",ii);

        output(ii);

        //if(ii==1&&i!=1)printf("\n");

        }

       }

       void output(int ii)

       { int j,k;

        for(j=1;j<=work[ii].n;j++)

        { for(k=1;k<=work[ii].m;k++)

        { if(work[ii].ch[j][k]=='*')

        printf("*");

        else

        { printf("%d",jishu(j,k,ii));

        }

        }

        printf("\n");

        }

       }

       int jishu(int j,int k,int ii)

       { int ji,ki,count=0;

        if(j==1&&k==1)

        { if(work[ii].ch[1][2]=='*')count++;

        if(work[ii].ch[2][1]=='*')count++;

        if(work[ii].ch[2][2]=='*')count++;

        return count;

        }

        if(j==1&&k==work[ii].m)

        { if(work[ii].ch[1][k-1]=='*')count++;

        if(work[ii].ch[2][k-1]=='*')count++;

        if(work[ii].ch[2][k]=='*')count++;

        return count;

        }

        if(j==work[ii].n&&k==1)

        { if(work[ii].ch[j-1][1]=='*')count++;

        if(work[ii].ch[j-1][2]=='*')count++;

        if(work[ii].ch[j][2]=='*')count++;

        return count;

        }

        if(j==work[ii].n&&k==work[ii].m)

        { if(work[ii].ch[j-1][k]=='*')count++;

        if(work[ii].ch[j][k-1]=='*')count++;

        if(work[ii].ch[j][k]=='*')count++;

        return count;

        }

        //四个角落处理完毕

        if(j==1&&k>1&&k<work[ii].m)

        { for(ji=1;ji<=2;ji++)

        for(ki=k-1;ki<=k+1;ki++)

        { if(k==ki&&j==ji)continue;

        if(work[ii].ch[ji][ki]=='*')

        count++;

        }

        return count;

        }

        if(j==work[ii].n&&k>1&&k<work[ii].m)

        { for(ji=j-1;ji<=j;ji++)

        for(ki=k-1;ki<=k+1;ki++)

        { if(k==ki&&j==ji)continue;

        if(work[ii].ch[ji][ki]=='*')

        count++;

        }

        return count;

        }

        if(j>1&&j<work[ii].n&&k==1)

        { for(ji=j-1;ji<=j+1;ji++)

        for(ki=1;ki<=2;ki++)

        { if(k==ki&&j==ji)continue;

        if(work[ii].ch[ji][ki]=='*')

        count++;

        }

        return count;

        }

        if(j>1&&j<work[ii].n&&k==work[ii].m)

        { for(ji=j-1;ji<=j+1;ji++)

        for(ki=k-1;ki<=k;ki++)

        { if(k==ki&&j==ji)continue;

        if(work[ii].ch[ji][ki]=='*')

        count++;

        }

        return count;

        }

        //四条边处理完毕

        if(j>1&&j<work[ii].n&&k>1&&k<work[ii].m)

        { for(ji=j-1;ji<=j+1;ji++)

        for(ki=k-1;ki<=k+1;ki++)

        { if(k==ki&&j==ji)continue;

        if(work[ii].ch[ji][ki]=='*')

        count++;

        }

        return count;

        }

       }

c语言怎么变的出扫雷

       我觉得数组更好

       先建立int

       map[][]的数组,并全部初始化为

       然后随机埋雷.被埋雷的格子=,雷的周边元素++,

       这样,一张地图就做好了.

       然后每点一个格子,就-.

       若值在大于则不用-

       若点中,即:空白点

       则将全图扫描一次,凡是和接触的格子全部点开,并用一个变量count记录该次扫描点开的新格子数,若count>0,则再扫描一次,若count=0,则不再扫描.

       当然这是比较笨的办法,不过反正格子数也不多,笨点也没关系

       用搜索的办法的话编程会麻烦点,纠正1楼

       无谓之光

       的说法,应该是搜索8个方向才对.

       我的原则是:能用数组解决的坚决不用链表,数组就是天然的链表

本文地址:http://q7.net.cn/news/04b37399622.html

热点资讯

copyright © 2016 powered by 皮皮网   sitemap