您的位置:首页 > 其它

如何排除猜数游戏中输入非数字的问题?

2014-09-20 22:48 253 查看
程序产生一个1到1000之间的随机数,并把该数用作要猜的数。玩游戏的人键入所猜的数,如果猜得不正确,继续猜直到正确为止,同时计算游戏者猜数的次数。为了帮助游戏者一步一步得到正确答案,程序会不断地发出信息“太大了!”或“太小了!”。最后,程序向游戏者显示游戏结果。

#include <stdio.h>   

#include <stdlib.h>   //随机函数等所在头文件

#include <time.h>     //时间函数等所在头文件

int main()

{

        int x,y,z=0,i=0;

        char c;

        srand((int)time(NULL));

        x=rand()%100;

        printf("猜数游戏\n\n");

        printf("这是一个0-1000的整数,你猜:");

        scanf("%d",&y);

        i++;

        for(;;)

        {

                c=getchar();

                while(c!='\n')

                {

                        if(c<'0'||c>'9')

                        {

                                z++;

                        }

                        c=getchar();

                }

                if(z!=0||y<0||y>=1000)

                {

                        z=0;

                        printf("请按要求猜:");

                        scanf("%d",&y);

                        i++;

                        continue;

                }

                if(x==y)

                {

                        printf("恭喜你,猜对了!这个数就是:%d\n你猜了%d次!\n",x,i);

                        break;

                }

                else if(x<y)

                {

                        printf("太大了!\n");

                }

                else

                {

                        printf("太小了!\n");

                }

                printf("你再猜:");

                scanf("%d",&y);

                i++;

        }

        return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  printf c 游戏