C.09 猜数字详解

#include <stdio.h>
#include <stdlib.h>
#include <time.h> //获得系统时间头文件

int main()
{
   int magic;
   int guess;
   int counter, ret;
   char reply;
   srand(time(NULL)); //调用 srand函数 为rand函数设置随机数  种子(time函数的返回值)
do{
   counter =0;
   magic =rand()%100+1;


    do{
    printf("please a number\n");
    ret =scanf("%d", &guess);
    while(ret!=1)
    {//如果ret 值不等于 1 意味 scanf函数没有  成功读入( 既没有读到十进制格式的 数值或用户输入的是非数字,字符)
        while(getchar()!='\n');  // 作用 不断从缓冲区读取数据 直到读到回车符为止 起到清除输入缓冲区数据作用
        // getchar() != '\n'作用是不断从缓冲区读取字符 直到读到回车符为止
        // 根本作用 清除输入缓冲区中的 残留数据,然后重新提示输入
        //'\n'是换行,使光标下移一格
        printf("Please guess a magic unmber:");
        ret = scanf("%d",&guess);
    }

    counter++;
   if(guess >magic)
   {
       printf("Wrong! Too big!\n");
   }
   else if(guess<magic)
   {
    printf("Wrong! Too small!\n");
   }
   else
   {
       printf("Right! \n");
   }
}while (guess !=magic && counter<10);

 

 printf("counter =%d\n",counter);
 printf("Do you want to continue (Y/N)\n");
 scanf(" %c",&reply); //" %c" 加一个空格 忽略前面的空格符 换行符
}while ( reply == 'Y' ||(reply =='y'));

return 0;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值