完成猜数字游戏(1 - 100 ).

下面为完整版代码, 具体细节会在里面解释

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

//下面是游戏界面的函数,根据用户的输入决定是否开始游戏,
//返回 1 代表开始游戏, 0 代表退出游戏
int interface() {
 printf("请输入数字0或1:\n");
 printf("0代表结束游戏        ");
 printf("1代表开始游戏\n");
 printf("==================");
 printf("\n");
 printf("请输入数字:");
 int n;
 scanf("%d", &n);
 if (n == 1)
  return 1;
 else return 0;
}

//下面就是游戏的函数,用户输入猜的数字,我们用代码告诉他猜的数字是高了..还是低了..还是猜对了
void game( int x) {
 int num;
 //这里我们使用 while 循环,循环条件为 1 ,在循环内设置跳出循环得到条件,
 //也就是猜对的时候跳出循环
 while (1) {
  printf("请输入一个1 - 100之间的整数:");
  scanf("%d", &num);
  printf("\n");
  if (num > x) {
   printf("高了!");
   printf("\n");
  }
  if (num < x) {
   printf("低了!");
   printf("\n");
  }
  if (num == x) {
   printf("猜对了!");
   printf("\n");
   break;
  }
 }
}

//下面是主函数,主要用来生成随机数,调用其他的函数,使得游戏能顺利进行
int main() {
 srand(time(0));
 //为了解决每次运行程序生成的随机数都一样的现象,我们引入srand函数
 //该函数是给rand 函数生成"种子" ,我们要用一直在变的数字,自然会想到时间,
 //time()函数是计算时间戳的函数,包含在头文件<time.h>中,这样我们就可以解决每次运行程序前几次的随机数都一样的问题

 int num = rand() % 100 + 1;
 // rand( void ) 函数为生成随机数的函数 , 
 //该函数作用原理是以一个种子为头,根据一系列的公式计算出一个数值.
 //这里我们 模 100 + 1 得到的就是 1 - 100 之间的随机数
 
int a = interface();
 if (a == 1) {
  game(num);
 }
 else
 {
  printf("退出游戏!\n");
 }
 system("pause");
 return 0;
发布了47 篇原创文章 · 获赞 4 · 访问量 518

猜你喜欢

转载自blog.csdn.net/weixin_45818891/article/details/103037388