m0_58731724 2021-05-28 16:31 采纳率: 40%
浏览 176
已采纳

用C语言设计一个猜字母程序

题干为I have selected a character between A and Z Try to guess the character selected by me ! What is your guess ?

然后输入一个字母,会响应下面三句之一1. Great! Your guess is right! 2. Way ahead! Please try again. 3. Way behind! Please try again. 

如果输入错误则程序循环,知道玩家找出正确的(用binary search)

  • 写回答

3条回答 默认 最新

  • 关注
    #include <stdio.h>
    int main()
    {
    
        char target ='D';
        while(true)
        {
            char min = 'A';
            char max = 'Z';//初始范围
            int count = 0;//猜测次数
           
                int guess = 0;
                printf("please input a character between %c and %c\n",min,max);
                fflush(stdin);//清空输入缓存,以便不影响后面输入的数。比如你逐个输入字符,他帮你缓冲掉你每输入一个字符后面所敲的回车键。否则回车也会被当成字符保存进去。
                scanf("%c",&guess);  // 获取猜测的数字
                ++count;
                if(target == guess) //猜中
                {
                    printf("YOU WIN!\nyou have guessed %d times in total.\n",count);
                     break;
                }
                else if(target > guess) //目标比猜的数字大
                {
                    min = guess;
                    printf("the target is larger than %c\n",guess);
                }
                else  //目标比猜的数字小
                {
                    max = guess;
                    printf("the target is less than %c\n",guess);
                }
        }
    
        return 0;
    }

    代码如上,万望采纳。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置