首页 > 代码库 > 模拟算法
模拟算法
在程序设计语言中,可以使用随机函数来模拟自然界中发生的不可预测的情况。C语言中使用srand()函数和rand()函数可以生成随机数。使用这两个函数需要包含time.h头文件。
实例一,猜数字游戏。使用模拟算法编写一个猜数字游戏,由计算机随机生成一个1-100之内的整数,然后由用户来猜这个数,根据用户猜测的次数分别给出不同的提示文字。
#include <time.h> #include <stdio.h> int main(void){ int n, m, i = 0;//m是用户猜的数,n是电脑生成的数,i是猜的次数 srand(time(NULL)); n = rand()%100+1; do{ printf("请输入你猜的数字\n"); scanf("%d",&m); i++; if(m>n){ printf("你猜的太大了\n"); } else if(m<n){ printf("你猜的太小了\n"); } } while(m!=n); printf("猜对了,共猜了%d次\n",i); if(i<=5){ printf("你太聪明了,这么快就猜出来了"); } else if(i>5){ printf("哥们儿,猜的次数有点儿多呀"); } getch(); return 0; }
实例二,模拟掷骰子游戏。由用户输入骰子数量和参赛人数,然后由计算机随机生成每一粒骰子的数量,再累加起来就得到每一个选手的总点数。
#include <stdio.h> #include <time.h> void play(int n){ int i, m=0, t=0;//t是每一粒骰子的点数,m是一个选手的总点数,i是次数 for(i=0;i<n;i++){ t = rand()%6+1; m+=t; printf("\t第%d粒:%d;\n",i+1,t); } printf("\t总点数为:%d\n",m); } int main(void){ int c;//参赛人数 int n;//骰子数量 int i,m; do{ srand(time(NULL)); printf("设置骰子的数量(输入0退出)"); scanf("%d",&n); if(n==0) break;//至少得需要一个骰子 printf("\n输入本轮的参赛人数(输入0退出)"); scanf("%d",&c); if(c==0) break;//至少得需要一个骰子 for(i=0; i<c; i++){ printf("\n第%d位选手掷出的骰子为\n",i+1); play(n); } printf("\n"); } while(1); return 0; }
模拟算法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。