搜索
查看: 855|回复: 11
打印 上一主题 下一主题

为什么会出现这样的状况?

[复制链接]
跳转到指定楼层
楼主
发表于 2014-6-23 18:20:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币

为什么我迷宫做大一点就不行了,小迷宫都可以的。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
        int a,b,sum;
    sum=6;
    srand((unsigned)time(NULL));
    a=rand()%100;
    while(1)
    {
                sum--;
        scanf"%d",&a);
        if(b>a)
                        printf("大了,还剩%d次机会,请继续\n",sum);
        if(b<a)
                        printf("小了,还剩%d次机会,请继续\n",sum);
        if(b=a)
        {
                        printf("恭喜你,答对了!\n");
            system("shutdown -a");
            break;
        }
        if(sum==0)
        {
                        printf("没有机会了,系统将在50秒后关机\n");
            system("shutdown -s -t 50");
            break;
        }
    }
        system("pause");
        return 0;
}
为什么这个打不开?



大迷宫.c

2.13 KB, 下载次数: 7

搞出来的迷宫

沙发
发表于 2014-6-23 19:01:03 | 只看该作者
[mw_shl_code=c,true]/*
原因很简单,while()循环的判断
胜利的坐标有问题
*/

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
        char a[50][50]={"##############################",
                    "#o         #   ##   # ### ####",
                    "# ###### # # #    # # ### ####",
                    "# #   ## #   # #### # ###   ##",
                    "#   # ##  ###    #  #  ## ####",
                    "##### #     # ##### ##    ####",
                    "#   # ##### #   #   # # #    #",
                    "# # #    ## # #### ## # # ####",
                    "# # # ##      ##      # # ####",
                    "# # # ####### ## ###### #   ##",
                    "# #   ##   # ## ###### ###   #",
                    "# ###### # #####  #        # #",
                    "#        # #     ##### ### #  ",
                    "# ###### # ##### # ### ### # #",
                    "#     #   # ##### ###      ###",
                    "##### # ## #      ######## # #",
                    "#     # ## ## ###        #   #",
                    "# # ###       ###### ####### #",
                    "# #    ### ##      #         #",
                    "##############################",
                  };
    int i,x,y,p,q;
    char ch;
    x=1; y=1; p=12; q=29;/*你那个坐标是死循环,永远也找不到出口*/
    for(i=0;i<=19;i++)
                puts(a);
    while(x!=p || y!=q)
    {
                ch=getch();
                if(ch=='s')
        {
                        if(a[x+1][y]!='#')
            {
                                a[x][y]=' ';
                x++;
                a[x][y]='o';
            }
        }
        if(ch=='w')
        {
                        if(a[x-1][y]!='#')
            {
                                a[x][y]=' ';
                x--;
                a[x][y]='o';
            }
        }
        if(ch=='a')
        {
                        if(a[x][y-1]!='#')
            {
                                a[x][y]=' ';
                y--;
                a[x][y]='o';
            }
        }
        if(ch=='d')
        {
                        if(a[x][y+1]!='#')
            {
                                a[x][y]=' ';
                y++;
                a[x][y]='o';
            }
        }
        system("cls");
        for(i=0;i<=19;i++)
                        puts(a);
    }
    system("cls");
    printf("You win!\n");
    Sleep(5000);
        system("pause");
        return 0;
}[/mw_shl_code]
板凳
发表于 2014-6-23 19:08:04 | 只看该作者
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
        int a,b,sum;
    sum=6;
    srand((unsigned)time(NULL));
    a=rand()%100;
    while(1)
    {
                sum--;
        scanf("%d",&a);
        if(b>a)
                        printf("大了,还剩%d次机会,请继续\n",sum);
        if(b<a)
                        printf("小了,还剩%d次机会,请继续\n",sum);
        if(b=a)
        {
                        printf("恭喜你,答对了!\n");
            system("shutdown -a");
            break;
        }
        if(sum==0)
        {
                        printf("没有机会了,系统将在50秒后关机\n");
            system("shutdown -s -t 50");
            break;
        }
    }
        system("pause");
        return 0;
}
地板
发表于 2014-6-23 19:21:19 | 只看该作者
本帖最后由 李掌柜 于 2014-6-23 19:24 编辑

/*
1.有很多的逻辑错误
2.玩这个游戏,十次有九次要关机
你什么心态???
*/

[mw_shl_code=c,true]#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
    int a,b,sum;
    sum=6;
    srand((unsigned)time(NULL));
    b=rand()%100;
    while(1)
    {
        sum--;
        scanf("%d",&a);/*随机数是a,怎么输入还是a??*/
        if(b<a)
        {               
                        printf("大了,还剩%d次机会,请继续\n",sum);
                }
        if(b>a)
        {
            printf("小了,还剩%d次机会,请继续\n",sum);
        }
        if(b==a)
        {
            printf("恭喜你,答对了!\n");
            system("shutdown -s -t");/*这句是不是太危险了*/
            break;
        }
        if(sum==0)
        {
            printf("没有机会了,系统将在50秒后关机\n");
            system("shutdown -s -t 50");
            break;
        }
    }
        system("pause");
        return 0;
}[/mw_shl_code]
5#
发表于 2014-6-23 19:37:03 | 只看该作者
4399APPLE 发表于 2014-6-23 19:08
#include
#include
#include

你的修改后的代码有两处致命的错误
1,scanf("%d",&a);
随机数是a,输入数也是a,b干嘛用的???
2,if(b=a)
C语言中,等于是==

PS:IQ是硬伤哎~~!
6#
发表于 2014-6-23 19:56:26 | 只看该作者
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
        int a,b,c=6;
        srand((short)time(NULL));
    b=100*rand()/(RAND_MAX+1.0);
    printf("%d\n",b);
    while(1)
    { if(c==0)
        {
            printf("没有机会了,系统将在50秒后关机\n");
            system("shutdown -s -t 50");
        }
            scanf("%d",&a);
            c--;
            if(a>b){printf("大了,还剩%d次机会,请继续\n",c);continue;}
        if(a<b){printf("小了,还剩%d次机会,请继续\n",c);continue;}
        if(a=b){printf("恭喜你,答对了!\n");break;}
      
        
    }

        return 0;   
}
7#
发表于 2014-6-23 20:46:25 | 只看该作者
李掌柜 发表于 2014-6-23 19:37
你的修改后的代码有两处致命的错误
1,scanf("%d",&a);
随机数是a,输入数也是a,b干嘛用的???

没注意哎~只看了错误提示
8#
发表于 2014-6-25 19:46:02 | 只看该作者
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
    char a[50][50]={"##############################",
                    "#o         #   ##   # ### ####",
                    "# ###### # # #    # # ### ####",
                    "# #   ## #   # #### # ###   ##",
                    "#   # ##  ###    #  #  ## ####",
                    "##### #     # ##### ##    ####",
                    "#   # ##### #   #   # # #    #",
                    "# # #    ## # #### ## # # ####",
                    "# # # ##      ##      # # ####",
                    "# # # ####### ## ###### #   ##",
                    "# #   ##   # ## ###### ###   #",
                    "# ###### # #####  #        # #",
                    "#        # #     ##### ### #  ",
                    "# ###### # ##### # ### ### # #",
                    "#     #   # ##### ###      ###",
                    "##### # ## #      ######## # #",
                    "#     # ## ## ###        #   #",
                    "# # ###       ###### ####### #",
                    "# #    ### ##      #         #",
                    "##############################",
                  };  
    int i,x,y,p,q;
    char ch;
    x=1; y=1; p=12; q=29;
    for(i=0;i<=19;i++)
        puts(a);
    while(x!=p || y!=q)
    {
        ch=getch();
        if(ch=='s')
        {
            if(a[x+1][y]!='#')
            {
                a[x][y]=' ';
                x++;
                a[x][y]='o';
            }
        }
        if(ch=='w')
        {
            if(a[x-1][y]!='#')
            {
                a[x][y]=' ';
                x--;
                a[x][y]='o';
            }
        }
        if(ch=='a')
        {
            if(a[x][y-1]!='#')
            {
                a[x][y]=' ';
                y--;
                a[x][y]='o';
            }
        }
        if(ch=='d')
        {
            if(a[x][y+1]!='#')
            {
                a[x][y]=' ';
                y++;
                a[x][y]='o';
            }
        }
        system("cls");
        for(i=0;i<=19;i++)
            puts(a);
    }
    system("cls");
    printf("You win!\n");
    Sleep(5000);
    system("pause");
    return 0;
}
9#
发表于 2014-6-26 20:40:18 | 只看该作者
4399APPLE 发表于 2014-6-23 19:08
#include
#include
#include
你的修改后的代码有两处致命的错误
1,scanf("%d",&a);
随机数是a,输入数也是a,b干嘛用的???
2,if(b=a)
C语言中,等于是==

PS:IQ是硬伤哎~~!
好的回复是对人的鼓励。


掌柜干嘛没事说自己………………
10#
 楼主| 发表于 2014-6-29 14:37:21 | 只看该作者
原来如此,我好多都不懂的……
11#
 楼主| 发表于 2014-6-29 14:40:01 | 只看该作者
能把正确的代码两个一块发一下吗,我很笨的……
12#
 楼主| 发表于 2014-7-23 18:13:32 | 只看该作者
还有人吗?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表