1.8 模拟算法

1 猜数游戏

 1 #include <time.h>
 2 #include <stdio.h>
 3 int main()
 4  {
 5    int n,m,i=0;
 6    srand(time(NULL));
 7    n=rand() % 100 + 1;
 8    do{
 9        printf("输入所猜数字:");
10        scanf("%d",&m);
11        i++;
12        if (m>n)
13            printf("错误!所猜数太大了!\n");
14        else if (m<n)
15            printf("错误!所猜数太小了!\n");
16    }while(m!=n);
17     printf("答对了!\n");
18     printf("共猜测了%d次。\n",i);
19     if(i<=5)
20         printf("你太聪明了,这么快就猜出来了!");
21     else if(i>5)
22         printf("还需改进方法,以便更快猜出来!");
23     getch();
24     return 0;
25 }

2 掷骰子

 1 #include <stdio.h>
 2 #include <time.h>
 3 void play(int n)
 4 {
 5     int i,m=0,t=0;
 6     for(i=0;i<n;i++)
 7     {
 8         t=rand()%6+1;
 9         m+=t;
10         printf("\t第%d粒:%d;\n",i+1,t);
11     }
12     printf("\t总点数为:%d\n",m);
13 }
14 int main(void)
15 {
16     int c;//参赛人数
17     int n;//骰子数量
18     int i,m;
19     do{
20         srand(time(NULL));
21         printf("设置骰子数量(输入0退出):");
22         scanf("%d",&n);
23         if(n==0) break;//至少一个骰子
24         printf("\n输入本轮参赛人数(输入0退出):");
25         scanf("%d",&c);
26         if(c==0) break;
27         for(i=0;i<c;i++)
28         {
29             printf("\n第%d位选手掷出的骰子为:\n",i+1);
30             play(n);
31         }
32         printf("\n");
33     }while(1);
34     return 0;
35 }
时间: 2024-10-14 22:21:47

1.8 模拟算法的相关文章

模拟算法_掷骰子游戏&amp;&amp;猜数游戏

模拟算法是用随机函数来模拟自然界中发生的不可预测的情况,C语言中是用srand()和rand()函数来生成随机数. 先来介绍一下随机数的生成: 1.产生不定范围的随机数 函数原型:int rand() 产生一个介于0~RAD_MAX间的整数,其具体值与系统有关系.Linux下为2147483647.我们可以在include文件夹中的stdlib.h中可以看到(Linux在usr目录下,Windows在安装目录下) 1 #include<stdio.h> 2 #include<stdlib

数据结构与算法之模拟算法 C++实现

模拟算法:模拟整个过程,通过改变数学中模型的各种参数,进而观察变更这些参数所引起过程状态的变化. 算法思路:使用随机函数来模拟自然界中发生的不可预测情况.(srand() 和 rand()函数生成随机数) 模拟算法也就是将整个过程完完整整的走一遍,题目怎么叙述的,程序就怎么运行. 实例一:猜数字 计算机随机生成一个1-100的整数,用户猜测,每次猜测给出不同的提示. 代码: #include <iostream> #include <stdlib.h> #include <t

模拟算法

在程序设计语言中,可以使用随机函数来模拟自然界中发生的不可预测的情况.C语言中使用srand()函数和rand()函数可以生成随机数.使用这两个函数需要包含time.h头文件. 实例一,猜数字游戏.使用模拟算法编写一个猜数字游戏,由计算机随机生成一个1-100之内的整数,然后由用户来猜这个数,根据用户猜测的次数分别给出不同的提示文字. #include <time.h> #include <stdio.h> int main(void){ int n, m, i = 0;//m是用

模拟算法+栈 HDU 1022

Train Problem I Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 30245    Accepted Submission(s): 11434 Problem Description As the new term comes, the Ignatius Train Station is very busy nowadays

Unity项目 - Boids集群模拟算法

1987年Craig W.Reynolds发表一篇名为<鸟群.牧群.鱼群:分布式行为模式>的论文,描述了一种非常简单的.以面向对象思维模拟群体类行为的方法,称之为 Boids ,Boids 采用了三个核心的规则: 排斥性:避免与群体内邻近个体发生碰撞 同向性:趋向与邻近的个体采用相同的速度方向 凝聚向心性:向邻近个体的平均位置靠近 由此我们采用Unity来实现算法并演示,演示结果: 制作思路 每个boid对象,每帧都有2个关键的表:与该boid邻近的boids的表及与该boid最近的boids

简单模拟算法(1)

使用过python的pyautogui库的应该都知道官方文档有一个这样的例子: 源码如下: 1 import pyautogui 2 3 distance = 200 4 while distance > 0: 5 pyautogui.dragRel(distance, 0, duration = 0.5) #右 6 distance -= 10 7 pyautogui.dragRel(0, distance, duration = 0.5) #下 8 pyautogui.dragRel(-di

数据结构学习笔记 模拟算法1

猜数字 #include<stdio.h> #include<time.h> int main() { int n,m,i=0; srand(time(NULL)); n=rand()% 100 +1; do{ printf("输入所猜的数字:"); scanf("%d",&m); i++; if(m>n) printf("错误!所猜的数太大了!\n");  else if (m<n)  printf(

模拟算法练习

codevs  1.1507 酒厂选址 1 #define N 10010 2 #include<iostream> 3 using namespace std; 4 #include<cstdio> 5 #include<cstring> 6 int sum[N],z[N],a[N]; 7 long long minn=-1; 8 int n; 9 int read() 10 { 11 int ans=0;char s; 12 s=getchar(); 13 whil

数据结构 学习笔记 模拟算法2

掷骰子游戏 #include<stdio.h> #include<time.h> void play(int n) { int i ,m=0,t=0; 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; //骰子数量 i