一.分析
1.首先生成一个随机数
2.然后从键盘输入我们猜的数字
3.对两者进行比较,如果猜对了,结束游戏。否则重新猜,提示猜大了还是猜小了。
二.注意事项
利用c/c++生成随机数需要使用rand()函数,而这个函数生成的是一个伪随机数,利用srand()函数初始化随机数发生器,用于设置rand()产生随机数时的种子,使得产出一个真正的随机数。
三.代码实现(有详细注释!)
1.C语言代码实现
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main() {
int number,guessNumber;
//srand()函数是初始化随机数发生器,用于设置rand()产生随机数时的种子
//srand()函数形参是unsigned int类型
srand((unsigned int)time(NULL));
//number为生成的随机数
number = rand()%100;
//scanf_s是因为vs2019版本代码有变动,如果是vc需要把_s去掉。
scanf_s("%d", &guessNumber);
while (guessNumber != number) {
//猜的值大于或者小于正确值,则重新输入猜值
if (guessNumber > number) {
printf("你猜的数字大了,请重新输入\n");
}
else
{
printf("你猜的数字小了,请重新输入\n");
}
//重新输入guessNumber。
scanf_s("%d", &guessNumber);
}
//猜值与正确值相等,跳出循环,提示才对了。
printf("猜对了!\n");
}
C++语言代码实现
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main() {
int number,guessNumber;
//srand()函数是初始化随机数发生器,用于设置rand()产生随机数时的种子
//srand()函数形参是unsigned int类型
srand((unsigned int)time(NULL));
//number为生成的随机数
number = rand()%100;
cin >> guessNumber;
while (guessNumber != number) {
//猜的值大于或者小于正确值,则重新输入猜值
if (guessNumber > number) {
cout << "你猜的数字大了,请重新输入" << endl;
}
else
{
cout << "你猜的数字小了,请重新输入" << endl;
}
//重新输入guessNumber。
cin >> guessNumber;
}
//猜值与正确值相等,跳出循环,提示才对了。
cout << "猜对了!" << endl;
}
Java代码实现
//Random可以随机生成数字
import java.util.Random;
//Scanner类实现键盘输入
import java.util.Scanner;
public class random {
public static void main(String[] args) {
//生成一个随机数,用number去接收它.
Random r=new Random();
int number= r.nextInt(100)+1;
//输入我们猜的值
Scanner sc=new Scanner(System.in);
int guessNumber=sc.nextInt();
//利用while循环,判断猜的值是否正确,直到猜对为止
while(guessNumber!=number){
//猜的值大于或者小于正确值,则重新输入猜值
if(guessNumber>number){
System.out.println("你猜的数字大了,请重新输入");
}else
{
System.out.println("你猜的数字小了,请重新输入");
}
//重新输入guessNumber。
guessNumber=sc.nextInt();
}
//猜值与正确值相等,跳出循环,提示才对了。
System.out.println("猜对了!");
}
}