分别使用Java和C语言实现猜数字游戏(数字随机生成)

目录

一、Java实现

1.内容介绍

2.思路

3.完整代码

二、C语言实现

1.思路

2.完整代码

三、总结

1.产生随机数

2.分支结构


一、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在实现的过程中,三种走向的写法都及其类似,所以说他们之间的思想都是差不多的。
  • 另外,可以自己多添加上一些有趣的代码,使其更加丰富

猜你喜欢

转载自blog.csdn.net/2301_77053417/article/details/134105597
今日推荐