| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 374 人关注过本帖
标题:大家帮我看看哪里出错了。
只看楼主 加入收藏
房炫炫
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-3-19
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
大家帮我看看哪里出错了。
#include <stdio.h>
#include <time.h>
#define N 9
static int a[N] [N];
static int b[N] [N];
viod setmine(int i,int j)
{
    int n,i1,j1,ijinc[8][2]={-1,-1,-1,0,-1,-1,0,1,1,-1,1,0,1,1};
    if(a[i][j]==9        return;
    a[i][j]=9;
    for(n=0;n<8;n++)
    {
        i1=i+ijinc[n][0];
        j1=j+ijinc[n][1];
        if(i1>=0&&i1<N&&>j1>=0&&a[i1][j1]<9)  a[i1][j1]++;
    }
}
void mark0(int i,int j)
{
    int n,i1,j1,ijinc[8][2]={-1,-1,-1,0,-1,1,0,-1,0,1,1,-1,1,0,1,1};
    if(a[i][j]==0&&b[i][j]==-1)
    {
        b[i][j]==a[i][j];
        for(n=0;n<8;n++)
        {
            i1=i+ijinc[n][0];
            j1=j+ijinc[n][1];
            if(i1>0&&i1<N%%j1>=0&&j1<N)  mark0(i1,j1);
        }
    }
    else  b[i][j]=a[i][j];
}
void list(int a[][N])
{
    int i,j;
    printf("    ");
    for(i=1);i<=N;i++)     printf("%2d",i);
    printf("\n");
    for(i=1;i<=N;i++)
        {
            printf("%2d",i);
            for(j=1;j<=N;j++)
                printf("%2d",a[i-1][j-1]);
            printf("\n");
        }
}
void init()
    int i,j;
    for(i=0;i<N;i++)
        for(j=0;j<N;j++)
        b[i][j]=-1;
}
int motok()
    int i,j;
    for(i=0;i<N;i++)
    for(j=0;j<N;j++)
        if(b[i][j]==-1)        return 1;
        return 0;
}
int mark()
{
    int kind,i,j;
    printf("操作类型;0——标记数字,1——标记地雷,2——取消地雷标记;\n");
    scanf("%d",&kind);
    printf("输入行,列号(1—N);\n");
    scanf(%d%d,&i,&j);
    i--;   j--;
    if(kind==0)
        if(a[i][j]==9)
            return 0;
        else
            if(a[i][j]==0)  mark0(i,j);
            else     b[i][j]=a[i][j];
    if(kind==1)    b[i][j]=9;
    if(kind==2)    b[i][j]=-1;
    return 1;
}
void main0()
    int i,j,err=0;
    do
    {
        if(!mark())
        {
            printf("你踩上雷了!");
            return;
        }
        list(b);
    }while(notok());
    for(i=0;i<N;i++)
        for(j=0;j<N;j++)
            if(a[i][j]!=b[i][j])  err++;
    if(err==0)   printf("你胜利了!");
    else         printf("你标多了!");
}
viod randset()
{
    int i,j,n;
    srand((unsigned)time(0));
    for(n=1;n<N;n++)
    {
        i=rand()%N;
        j=rand()%N;
        setmine(i,j);
    }
}
main()
{
    init();
    list(b);
}
   
   
2015-10-27 19:19
随风的飞叶
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:90
专家分:158
注 册:2015-10-8
收藏
得分:20 
   if(a[i][j]==9 "  "       return;
        if(i1>=0&&i1<N&&  " >"j1  >=0&&a[i1][j1]<9)  a[i1][j1]++;
 b[i][j]  "=="  a[i][j];
   if(i1>0&&i1<N   "%%"    j1>=0&&j1<N)  mark0(i1,j1);
     else  b[i][j]=a[i][j]  " ;"
 for(i=1  ")"   ;i<=N;i++)
void init()
掉了个。“{”
    int i,j;
scanf(" " %d%d  " "  ,&i,&j);
while(    notok()  )notok()是什么,看不明白。
:\data\3-6.c(91) : warning C4013: 'notok' undefined; assuming extern returning int
F:\data\3-6.c(101) : warning C4013: 'srand' undefined; assuming extern returning int
F:\data\3-6.c(104) : warning C4013: 'rand' undefined; assuming extern returning int
2015-10-27 20:14
房炫炫
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-3-19
收藏
得分:0 
回复 2楼 随风的飞叶
谢谢,基本问题都解决了,是我太粗心了。那个while(notok())是单词写错了   应该是motok。
2015-10-27 21:52
快速回复:大家帮我看看哪里出错了。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016137 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved