C指针原理(71)-C快速入门(4)

来源:互联网 发布:nba2k18超帅捏脸数据 编辑:程序博客网 时间:2024/04/30 15:35

为增加游戏的趣味性,待猜的数字可使用一个产生1-500以内的随机整数,可按以下方式计算这个整数(%为取余操作):

1-500以内的随机整数=随机整数%499+1

麦好的AI乐园博客所有内容是原创,如果转载请注明来源

http://blog.csdn.net/myhaspl/


可借助stdlib.h中定义的srand函数来生成公式右边所需要的随机数,该函数需要一个数值做为产生随机数的种子(也就是这个函数的唯一个参数),通常使用当前时间值作为参数,当前时间值可以通过time函数(以0做为参数调用,该函数在time.h中定义)。

比如下面代码产生2个随机整数:

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

int main()

{

    srand((int)time(0));

    printf("第一个随机数:%d 第二个随机数:%d\n",rand()%499+1,rand()%499+1);

}

dp@dp:~/cquick % gcc a.c -o mytest

dp@dp:~/cquick % ./mytest

第一个随机数:429 第二个随机数:44

可将上面代码组合成本程序的第一个自定义函数getnumber,供main函数调用。最后代码如下:

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

int getnumber(){

        srand((int)time(0));

        return rand()%499+1;

}

int main(){

        int mynum;

        int ispass=0;

        while(1){

        printf("你好,请输入一个数字:");

        scanf("%d",&mynum);

        if (mynum>500 ||mynum<1){

                printf("数字仅限于1-500之间,请重新运行本程序!\n");

        }

        else{

                printf("\n你输入的数字是:%d\n",mynum);

                break;

        }

        }

        printf("number:%d\n",getnumber());

}

dp@dp:~/cquick % gcc guessnum.c -o myguess

dp@dp:~/cquick % ./myguess

你好,请输入一个数字:55

 

你输入的数字是:55

number:109

麦好的AI乐园博客所有内容是原创,如果转载请注明来源

http://blog.csdn.net/myhaspl/


程序最后一个printf语句取得要猜的随机整数后,输出到屏幕,这只是测试(游戏中可不能把结果告诉玩家,接下来,将对这个程序继续完善,将去掉这个printf语句)。

1 0
原创粉丝点击