C语言随机数字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言随机数字相关的知识,希望对你有一定的参考价值。

为什么编译一直说错误的,哪里错了吗?#include<stdio.h>#include<stdlib.h>#include<time.h>int random_int(int, int);int main() int low, high, x; char c; printf("请输入两个数字:\n"); scanf_s("%d%d", &low, &high); srand((unsigned)time(NULL)); //设定种子值 printf("开始抽签Y(y),结束抽签N(n):"); while (1) c = getchar(); if (c == 'N' || c == 'n') break; else if (c == 'Y' || c == 'y'); x = random_int(low, high); printf("您抽中的是%d", x); printf("继续抽签按Y(y),结束按N(n)\n"); return 0;

函数没定义啊这个函数需要自己实现下
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int random_int(int, int);
int main()
int low, high, x;
char c;
printf("请输入两个数字:\\n");
scanf("%d%d", &low, &high);
srand((unsigned)time(NULL)); //设定种子值
printf("开始抽签Y(y),结束抽签N(n):");
while (1)
c = getchar();
if (c == 'N' || c == 'n') break;
else if (c == 'Y' || c == 'y')

x = random_int(low, high);
printf("您抽中的是%d\\n", x);
printf("继续抽签按Y(y),结束按N(n)\\n");


return 0;

int random_int(int low, int high)

if (low == high) return low;
return rand() % (high-low+1) + low;

参考技术A 你定义了函数random_int(int, int);,整个程序却只有主函数,并没有函数random_int(int, int)的具体代码。提示就是告诉你主函数中引用了random_int(int, int),可这个random_int(int, int)根本就找不到。 参考技术B 你用的VS吧?少了一个include追问

没有啊 三个
include
include
include

用C语言实现猜数字游戏

#每日美图分享#

用C语言实现猜数字游戏_#define

今天我们来用C语言代码来制作一个猜数字的游戏。

基本思路:

1.开始时,执行菜单来选择是否进行游戏。

2.选择进行游戏后我们需要电脑生成一个的随机数。

3.搞定随机数后,输入数字,如果输入的数字比电脑生成的随机数大,那么提示“猜大了”,反之亦然,直到猜对,猜对后再弹出菜单询问(循环)是否继续游戏。

其中最难搞定的是让电脑生成一个随机的数,在这里我们可以引入”时间戳“。

好,有了基本思路,我们开始尝试写写。

首先写好基本构架:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void menu()


void game()


int main()

return 0;

接下来,先弹出菜单,再考虑是否进行游戏,这是我们可以使用do...while循环语句,因为弹出菜单后会有多种情况,所以应该再循环里面讨一个switch分支结构。

因为程序是从主函数开始执行的所以:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void menu()

printf("**********************\\n");
printf("****1.Play 0.Exit****\\n");
printf("**********************\\n");

void game()


int main()

int input=0;
do

menu();
printf("请选择:>");
scanf("%d",&input);
switch(input)

case 1
game();
break;
case 0:
printf("退出游戏\\n");
break;
default:
printf("选择错误\\n");
break;



while(1);
return 0;


用C语言实现猜数字游戏_随机数_02


用C语言实现猜数字游戏_随机数_03

可以看到菜单已经能循环弹出了,接下来开始设计游戏内容,先用时间戳来设置随机数:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()

printf("**********************\\n");
printf("****1.Play 0.Exit****\\n");
printf("**********************\\n");

void game()

int ret=0;
ret=rand();
printf("%d\\n",ret);

int main()

int input=0;
srand((unsignde int)time(NULL));
do

menu();
printf("请选择:>");
scanf("%d",&input);
switch(input)

case 1
game();
break;
case 0:
printf("退出游戏\\n");
break;
default:
printf("选择错误\\n");
break;



while(1);
return 0;

(这里为了更直观的显现出随机数,我在代码中写的是生成随机数然后打印出来,但接下来不会再显示出随机数。)


用C语言实现猜数字游戏_#define_04

现在随机数是搞定了,但你们有没有发现这个随机数着实有点大,这不得让玩的人自闭呀(当然你想整人也行,嘿嘿)。我们可以考虑把随机数的范围缩小为1~100,只需:ret=rand()%100+1;

如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()

printf("**********************\\n");
printf("****1.Play 0.Exit****\\n");
printf("**********************\\n");

void game()

int ret=0;
ret=rand()%100+1;
printf("%d\\n",ret);

int main()

int input=0;
srand((unsignde int)time(NULL));
do

menu();
printf("请选择:>");
scanf("%d",&input);
switch(input)

case 1
game();
break;
case 0:
printf("退出游戏\\n");
break;
default:
printf("选择错误\\n");
break;



while(1);
return 0;

好了,随机数完全搞定,让我们继续(先把打印随机数值的代码删掉):

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()

printf("**********************\\n");
printf("****1.Play 0.Exit****\\n");
printf("**********************\\n");

void game()

int ret=0;
int guess=0;
ret=rand()%100+1;
while(1)

printf("请猜数:>");
scanf("%d",&guess);
if(guess<ret)
printf("猜小了\\n");
else if(guess>ret)
printf("猜大了\\n");
else

printf("太棒了吧,猜对了耶!\\n");
break;




int main()

int input=0;
srand((unsignde int)time(NULL));
do

menu();
printf("请选择:>");
scanf("%d",&input);
switch(input)

case 1
game();
break;
case 0:
printf("退出游戏\\n");
break;
default:
printf("选择错误\\n");
break;



while(1);
return 0;

用C语言实现猜数字游戏_#include_05

现在就大功告成了,大家快去试着做一做,玩一玩哦~

(悄悄告诉你们,用二分法玩会更快哦)

都看到这里了,求你们点个赞吧!!!

用C语言实现猜数字游戏_#define_06

以上是关于C语言随机数字的主要内容,如果未能解决你的问题,请参考以下文章

用C语言写出一道关于随机数的编程题

c语言产生一个随机的验证码(4位的随机字母和数字的组合),要求用户输入,给出长度不符的输入错位提示

编程:如何生成一组随机数字?

C语言趣味猜数字游戏.

c语言中怎么随机抽选100个数字并排序?

c语言产生4位随机数