目录
一、Java实现
1.内容介绍
(1)在程序运行起来之后,就提醒我们输入数字,猜的数字控制在[0-100],下面是效果图:
(2)可以自己添加一些特色,比如控制猜的次数,或者每次猜错都显示一次数的范围
2.思路
(1)让电脑自己产生随机数
- 产生随机数的写法 :程序运行一次,只需要产生一个即可
import java.util.Random;//需要包含的类包(类似C语言的头文件)
Random random = new Random();//需要工具,其中random是自己定义的工具名
int number =random.nextInt(100)+1;//number用来接收产生的随机数
//输入100则是控制范围为[0,100),我们再+1即是[0,100]
- 从键盘输入猜的数
import java.util.Scanner;//包含的类包
Scanner scanner = new Scanner(System.in);//工具,写在循环外
- 在循环内,没猜到都需要重新输入
System.out.print("请输入你要猜的数字:");
int input = scanner.nextInt();
(2)猜数字的三种结果:猜对、猜小和猜大,每次输入都显示其中一种
- 利用if else分支结构,控制结果的走向
System.out.print("请输入你要猜的数字:");
int input = scanner.nextInt();
if(input<number) {
System.out.println("猜小了");
} else if(input>number) {
System.out.println("猜大了");
} else {
System.out.println("恭喜你猜对了");
break;
}
(3)控制次数
- 只需要新增一个变量来控制次数即可
int times = 6;
while(times>0) {
System.out.print("请输入你要猜的数字:");
int input = scanner.nextInt();
if(input<number) {
times--;
System.out.println("猜小了,你的次数还剩"+times);
} else if(input>number) {
times--;
System.out.println("猜大了,你的次数还剩"+times);
} else {
System.out.println("恭喜你猜对了");
break;
}
}
if(times==0) {
System.out.println("傻瓜,没机会了,下辈子吧");
}
3.完整代码
import java.util.Random;
import java.util.Scanner;
public class Game {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//产生随机数
Random random = new Random();//工具
int number =random.nextInt(100)+1;
//只给6次机会
int times = 6;
while(times>0) {
System.out.print("请输入你要猜的数字:");
int input = scanner.nextInt();
if(input<number) {
times--;
System.out.println("猜小了,你的次数还剩"+times);
} else if(input>number) {
times--;
System.out.println("猜大了,你的次数还剩"+times);
} else {
System.out.println("恭喜你猜对了");
break;
}
}
if(times==0) {
System.out.println("傻瓜,没机会了,下辈子吧");
}
}
}
二、C语言实现
1.思路
(1)产生随机数
- rand()函数产生的是伪随机数,也就是每次运行起来产生的数都一样
- 添加时间戳:srand((unsigned int)time(NULL))则可以控制每次运行起来产生的数字都不一样
srand((unsigned int)time(NULL));
int number = rand()%100+1;
- 需要包含的头文件
#include<time.h>//time函数
#include<stdlib.h>//rand函数
(2)分支结构
- 同样是需要分为三种结果,猜对、猜小和猜大
while (1)
{
printf("请输入你要猜的数字:");
scanf("%d", &input);
if (input > number) {
printf("猜大了\n");
}
else if (input < number) {
printf("猜小了\n");
}
else {
printf("猜对了:%d\n",input);
break;
}
(3)色彩添加
- 可以设置猜游戏的次数
int count = 6;
while (count)
{
printf("请输入你要猜的数字:");
scanf("%d", &input);
if (input > number) {
count--;
printf("猜大了,还剩%d次\n",count);
}
else if (input < number) {
count--;
printf("猜小了,还剩%d次\n",count);
}
else {
printf("猜对了:%d\n",input);
break;
}
}
- 可以设置简易的菜单
void menu()
{
printf("*******************\n");
printf("****** 1.play *****\n");
printf("****** 0.eixt *****\n");
printf("*******************\n");
}
int input = 0;
menu();
printf("输入你的选择:");
scanf("%d", &input);
2.完整代码
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
void menu()
{
printf("*******************\n");
printf("****** 1.play *****\n");
printf("****** 0.eixt *****\n");
printf("*******************\n");
}
int main() {
int input = 0;
srand((unsigned int)time(NULL));
int number = rand() % 100 + 1;
menu();
printf("输入你的选择:");
scanf("%d", &input);
while(input){
int count = 6;
while (count)
{
printf("请输入你要猜的数字:");
scanf("%d", &input);
if (input > number) {
count--;
printf("猜大了,还剩%d次\n", count);
}
else if (input < number) {
count--;
printf("猜小了,还剩%d次\n", count);
}
else {
printf("猜对了:%d\n", input);
break;
}
}
}
return 0;
}
三、总结
1.产生随机数
(1)C语言产生随机数需要两步:
- 需要设置时间戳:srand((unsigned int)time(NULL));
- 使用函数产生随机数:int number = rand() % 100 + 1;
(2)Java产生随机数需要两步:
- 使用工具包: Random random = new Random();
- 使用方法产生随机数: int number =random.nextInt(100)+1;
2.分支结构
- C语言与Java在实现的过程中,三种走向的写法都及其类似,所以说他们之间的思想都是差不多的。
- 另外,可以自己多添加上一些有趣的代码,使其更加丰富