输入格式:
输入第一行中给出两个不超过100的正整数,一个是猜测的最大次数N,另一个自己猜测的随机数。直到超过猜测最大数停止!
输出格式:
在一行中输出每次猜测相应的结果,直到输出猜对的结果或“Game Over”则结束
完整代码如下:
完整做法如下下:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int x,magic;
int cnt = 0;
int N;
magic = rand()%100+1;//随机生成数1-100;
scanf("%d",&N);
do{
scanf("%d",&x);
cnt++;
if(x > magic){
printf("Too big\n");
}else if(x < magic){
printf("Too small\n");
}else if(x == magic&&cnt>3&&cnt<=N){
printf("Good Guess!");
break;
}else if(x == magic&&cnt<=3&&cnt>=2){
printf("Lucky You!");
break;
}else if (x == magic&&cnt == 1){
printf("Bingo!");
break;
}
}while(cnt<N);
if (x < 0||cnt>N||x!=magic){
printf("Game Over");
}
return 0;
}
前言
猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测。
需要你编写程序自动对其与随机产生的被猜数进行比较,如果数大了提示(“Too big”),如果小了提示(“Too small”),如果猜到,则结束程序。
程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;
如果超过N次都没有猜到,则提示“Game Over”,并结束程序。
一、游戏机自己产生一个随机数。
magic = rand()%100+1;//随机生成数1-100;
用到这个函数需要数学文件 #include <math.h>!
二、输入两个正整数。
1.首先输入 “猜测的最大次数N”
2.再输入“自己猜测的数x”
scanf("%d",,&N);
scanf("%d",&x);
接下来我们需要将我们猜测的数和随机数进行比较
跟据题目的要求,不同的情况输出不同的话语!
2.用if else进行判断。
if(x > magic){
printf("Too big\n");
}else if(x < magic){
printf("Too small\n");
}else if(x == magic&&cnt>3&&cnt<=N){
printf("Good Guess!");
break;
}else if(x == magic&&cnt<=3&&cnt>=2){
printf("Lucky You!");
break;
}else if (x == magic&&cnt == 1){
printf("Bingo!");
break;
}
需要注意的是:题目要求我们记录次数,因此我们用cnt来记录输入了多少次!
三.用do while进行多次输入,从而多次判断你猜的数是否正确。
只需要添加do while 语句就行了,但是要注意 while语句出来的条件,即猜测的次数cnt应小于设置猜测的最大次数N!
do{
scanf("%d",&x);
cnt++;
if(x > magic){
printf("Too big\n");
}else if(x < magic){
printf("Too small\n");
}else if(x == magic&&cnt>3&&cnt<=N){
printf("Good Guess!");
break;
}else if(x == magic&&cnt<=3&&cnt>=2){
printf("Lucky You!");
break;
}else if (x == magic&&cnt == 1){
printf("Bingo!");
break;
}
}while(cnt<N);
四.超过N次都没有猜到,提示“Game Over”。
注意:猜对了不需要提示 Game Over,需要x不等于随机数才会输出!
if (cnt>N||x!=magic){
printf("Game Over");
}