编程初学:简易猜数字游戏(C及Java实现)

1.游戏规则

  • 用户输入数字,判断该数字是大于,小于,还是等于随机生成的数字,等于的时候退出程序。

2.分析实现过程

  1. 生成随机数;
  2. 获取用户猜想数;
  3. 比较上面两者,给出结果(大了?小了?对了?);
  4. 循环实现直至猜对。

3.代码实现

3.1. c实现

  1. 生成随机数
  • #include<time.h> //包含头文件
  • srand((unsigned int)time(NULL));//种下随机数种子
  • int rad=rand() % 100 + 1;//生成随机数rad
  1. 获取用户猜想
  • #include<stdio.h>//包含头文件
  • scanf_s("%d", &input);//用户从键盘输入猜想数
  1. 比较
  • input==rad//猜对了
  • input>rad//猜大了
  • input<rad//猜小了
  1. 循环实现
while(1)
{
    
    
        if(input==rad)
              break;//当猜对时退出循环
 }
  1. 源代码
#include<stdio.h>
#include<Windows.h>
#include<time.h>


void show()
{
    
    
	printf("*********************\n");
	printf("********0.PLAY*******\n"); 
	printf("********1.EXIT*******\n");
	printf("*********************\n");
	printf("请输入你的选择:");
}

void game()
{
    
    
	int rad=rand() % 100 + 1;
	int input = 0;
	while (1)
	{
    
    
		printf("请输入你的猜想:(0~100)");
		scanf_s("%d", &input);
		if (input == rad)
		{
    
    
			printf("猜对了!\n"); 
			break;
		}
		else if (input > rad)
		{
    
    
			printf("大了!\n");
		}
		else
		{
    
    
			printf("小了!\n");
		}
	}	
}
int main()
{
    
    
	
	srand((unsigned int)time(NULL));
	int quit = 0;
	while (!quit)
	{
    
    
		show();
		int select = 0;
		scanf_s("%d", &select);
		switch (select)
		{
    
    
		case 0:
		{
    
    
				  game();
				  printf("要不要再来一次\n");break;
		}
		case 1:
		{
    
    
				  quit = 1; break;
		}
		default:
		{
    
    
				   printf("输入有误,重新输!\n");break;
		}
		}
	}
	system("pause");
	return 0;
}
  1. 运行结果
    在这里插入图片描述

3.2. Java实现

  1. 生成随机数
  • import java.util.Random;
  • Random random = new Random(); //随机种子
  • int ran = random.nextInt(100);
  1. 获取用户猜想
  • import java.util.Scanner;
  • Scanner sc = new Scanner(System.in);
  • int num = sc.nextInt();
  1. 比较
  • input==rad//猜对了
  • input>rad//猜大了
  • input<rad//猜小了
  1. 循环实现
while(true)
{
    
    
        if(input==rad)
              break;//当猜对时退出循环
 }
  1. 源代码

import java.util.Random;
import java.util.Scanner;
public class TestDemo {
    
    
    public static void main(String[] args) {
    
    
        Random random = new Random(); //随机种子
        Scanner sc = new Scanner(System.in);
        int ran = random.nextInt(100);
        while (true) {
    
    
            System.out.println("请输入你猜的的数字: (1-100)");
            int num = sc.nextInt();
            if (num < ran) {
    
    
                System.out.println("猜低了鸭");
            } else if (num > ran) {
    
    
                System.out.println("猜高了鸭");
            } else {
    
    
                System.out.print("猜对了鸭!!");
                break;
            }
        }
    }
}
  1. 运行结果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Aug_IK/article/details/109168305