陈7嘎嘎厉害 2023-11-05 09:11 采纳率: 45.5%
浏览 10
已结题

c语言猜数字游戏新手上路.

先输入 2 个不超过 100 的正整数,分别是被猜数 mynumber 和允许猜测的最大次数 n,再输入你所猜的数 yournumber,与被猜数 mynumber 进行比较,若相等,显示猜中,;若不等,显示与被猜数的大小关系, 最多允许猜 n 次。如果 1 次就猜出该数,提示“Bingo!”;如果 3 次以内猜到该 数,则提示“Lucky You!” ;如果超过 3 次但不超过 n 次猜到该数,则提示“Good Guess!”;如果超过 n 次都没有猜到,则提示“Game Over”;如果在到达 n 次之 前,用户输入了一个负数,也输出“Game Over”,并结束程序。试编写相应程序。

#include<stdio.h>
#include<math.h>
int main(){
    int count=0,mynumber,yournumber,i;
    scanf("%d %d",&mynumber,&count);
    for(i=1;i<=count;i++){
        scanf("%d",&yournumber);
        if(yournumber=mynumber){
            if(i==1){
                printf("Bingo!");
            }else if(i<=3){
                printf("Lucky you!");
            }else{
                printf("Good Guess!");
            }
        }else if(yournumber!=mynumber&&yournumber>0){
            printf("Game Over!");
        }
        if(yournumber<0){
            printf("Game Over!");
        }
    }
    return 0;}



img

好奇怪,那个if明明在内部,要先满足younumber=mynumber,i==1那个if条件才会开始,但是我这个为什么输入的yournumber明明不等于mynumber却输出了bingo!

  • 写回答

1条回答 默认 最新

  • 幸福染指 2023-11-06 08:26
    关注

    if(younumber=mynumber)这是先赋值,再判断,只要mynumber大于0,条件永远成立,要改成if(younumber==mynumber)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月14日
  • 已采纳回答 11月6日
  • 创建了问题 11月5日

悬赏问题

  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
  • ¥30 求解达问题(有红包)
  • ¥15 请解包一个pak文件