|登录 |注册

楼主: fuiyooo
打印 上一主题 下一主题

请教下如何利用c语言设计一个简单的数字游戏??

[复制链接]
2009-4-18 07:15 PM
goto自己比较容易明白...但是别人看了就有点乱...

回复 #6 冥 的帖子

fuiyooo
2009-4-18 07:26 PM
刚才我试了,可以如果我输入的不是答案,你的是要我重新的在1-100里面再输入,可是老师的要求是如果输入错了,会缩短范围的哦!
例如:1-100(我输入50,可是答案是80)
然后他会要求我们在50-100里面再输入答案...直到答案被猜对!
2009-4-18 07:27 PM
噢噢噢...挑战哦...哈哈,我研究看看...我也是刚开始学而已...
JulyAngel
2009-4-18 07:29 PM
我也有一題想問 知道為什麼麻煩告訴我

float a = 0.1;
float b = 0.2;
float c = 0.3;

為什麼c>a+b?em0010

c的數目為什麼會大過a+b?
這樣有比較清楚嗎

[ 本帖最后由 JulyAngel 于 2009-4-18 07:39 PM 编辑 ]

回复 #14 JulyAngel 的帖子

fuiyooo
2009-4-18 07:35 PM
你是想问什么啊?
我不明白。。。em0030
2009-4-18 07:36 PM
a+b....不是应该等于c吗?
JulyAngel
2009-4-18 07:46 PM
原帖由 于 2009-4-18 19:36 发表
a+b....不是应该等于c吗?

哈哈 看到我的第1反應
我自己判斷是 c沒有大過a+b

不過你去compile一下看看
然後用if判斷 出來的結果卻很奇怪
就是不懂什麼問題

我用的是Dev-C++ 想說看看你們的會不會同樣結果em0002
2009-4-18 07:49 PM
#include<stdio.h>
#include<stdlib.h>

int main(void)
{        char choice,ch;
        int a,b,c;
    int answer;
        b=0;
        c=100;
s3:        answer =(rand()%100)+1;
s1:
        printf("Press Y to start Game,Press N to Quit\n");
        scanf("%c",&choice);
       
       
        if(choice=='y'){printf("Start Game!\n");
                        printf("enter a number 1~100,0 to Quit\n");
s2:                        scanf("%d",&a);
                        if(a==0) return 0;
                        else if(a<=-1||a>100)goto s2;
s4:                        if(a==answer)
                        {printf("Correct!Do you want to play again?Y or N\n");
                        scanf("%c",&ch);
                                switch(ch)
                                {case 'y':goto s3;
                                case 'n':printf("Goodbye\n");break;
                                default :printf("Not available\n");goto s4;}}
                        else {
                                printf("Wrong number!Guess Again!\n");
                                if(a<answer)
                                {b=a;
                                printf("enter number between %d and %d",b,c);goto s2;}
                                if(a>answer)
                                {c=a;
                                printf("enter number between %d and %d",b,c);goto s2;
                               
                                }

                       
                        };}
        else {printf("Goodbye!");
        return 0;
        }
}
fuiyoo...这样应该可以了...我修改了一点...看重点就好了

[ 本帖最后由 冥 于 2009-4-18 07:55 PM 编辑 ]
2009-4-18 07:54 PM
JulyAngel ...我的也是这样...我用的是visual c++
JulyAngel
2009-4-18 08:02 PM
原帖由 于 2009-4-18 19:54 发表
JulyAngel ...我的也是这样...我用的是visual c++

相信這題一定幹掉一堆人
您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2025-3-10 08:13 PM , Processed in 0.090297 second(s), 19 queries .

Powered by Discuz! X2.5 © 2001-2012 Comsenz Inc.

本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved

Dedicated Server powered by iCore Technology Sdn. Bhd.

合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部