首页 > 编程语言 >打卡 c语言趣味编程 掷骰子

打卡 c语言趣味编程 掷骰子

时间:2023-05-26 22:13:12浏览次数:41  
标签:编程 掷骰子 rand0 点数 打卡 include c1

问题描述:

  骰子是一个有六个面的正方体,每个面分别印有1~6之间的小圆点代表点数。假设这个游戏的规则是:两个人轮流掷骰子6次,并将每次投掷的点数累加起来。点数多者获胜:点数相同则为平局。要求编写程序模拟这个游戏的过程,并求出玩100盘之后谁是最终的获胜者。

思路:

  要得到6个不同的随机值,只需要调用rand0函数,并取rand0函数除以6的余数即可,即rand0%6。但这样得到的是在0~5之间的6个随机数,再将其加1,即rand0%6+1,就可得到1~6之间的数。

流程图:

代码实现:

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 using namespace std;
 5 
 6 int main(){
 7 int d1,d2,c1,c2,i,j;
 8 c1 = c2 = 0;
 9 randomize();
10 /*初始化随机数产生器*/
11 for(i=1;i<=100;1++){
12 /*模拟游戏过程*/
13 d1 = d2 = 0;
14 for(j=1;j<=6;j++){
15 /*两个人轮流掷骰子*/
16     d1 = d1+random(6)+1;
17     d2 = d2+random(6)+1;
18 if (d1>d2)
19     c1++;
20 /*累加获胜盘数*/
21 else
22     if (d1<d2)
23         c2++;
24 }
25 if (c1>c2)
26     cout << "The first win!" << endl;
27 else
28     if(c1<c2)
29         cout << "The second win!" << endl;
30     else
31         cout << "The tie." << endl;
32 return 0;
33 }

 

标签:编程,掷骰子,rand0,点数,打卡,include,c1
From: https://www.cnblogs.com/qmz-znv2/p/17435923.html

相关文章

  • 每日打卡
    回文素数问题描述:回文素数是数字以中间一个数或两个数成对称的素数,求1000以内的回文素数问题分析:先用倒序数的方法判断是否为素数,再穷举出其中的回文数代码:#include<stdio.h>#include<math.h>intfun(intn);intmain(){           inti,j,k,l,m;     ......
  • Java编程之数组
    数组(容器)数组是一组数据类型相同的数据的组合,将这些数据统一的管理起来,数组本身是一个引用数据类型,数组内存储的类型可以是基本类型也可以是引用类型。数组的特点数组本身是一个引用数据类型数组是在堆内存中的一串连续的地址存在数组在初始化时必须指定长度堆内存的数组空......
  • c++打卡第三十八天
    一、歌星大奖赛1、问题描述 2、设计思路我们可以定义数组,存储十个评委所打的分数,输入十个数值,对这十个数值进行排序,然后去掉数组的首尾,计算的总和除以8计算得分数的平均数。3、流程图 4、代码实现#include<iostream>usingnamespacestd;intmain(){inta[10];......
  • 每日打卡一小时(第三十五天)
    一.问题描述设计一个void类型的函数reverse_string,其功能是将一个给定的字符串逆序。例如,给定字符串为“hello”,逆序后为“olleh”。二.设计思路注意字符串的结束标志二.代码实现#include<iostream>#include<string>usingnamespacestd;voidreverse_string(string&a......
  • c++打卡练习(40)(大一最后一次)
    求可逆素数若一个四位数的素数把它倒序过来还是素数,那么称它为可逆素数,如1009和9001就是一对可逆素数流程图:伪代码:源代码:#include<iostream>usingnamespacestd;intmain(){ intstart,end,i,j,m=0; for(i=1000;i<=9999;i++){ intk=0; for(j=2;j<i;j++){ if(i%j==0){ ......
  • 5.26打卡
    #include<bits/stdc++.h>usingnamespacestd;classExamInfo{public:ExamInfo(stringname,chargrade):name(name),mode(GRADE),grade(grade){}ExamInfo(stringname,boolpass):name(name),mode(PASS),pass(pass){}ExamInfo(strin......
  • 每日打卡-32
    一.问题描述平衡字符串中,'L'和'R'字符的数量是相同的。给你一个平衡字符串s,请你将它分割成尽可能多的子字符串,并满足:每个子字符串都是平衡字符串。返回可以通过分割得到的平衡字符串的最大数量。二.设计思路这道题要求尽可能多的切割平衡字符串我们通过观察例题以及......
  • 每日打卡-33
    一.问题描述给你一个整数数组prices,其中prices[i]表示某支股票第i天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候最多只能持有一股股票。你也可以先购买,然后在同一天出售。返回你能获得的最大利润。二.设计思路其实你完全没有必要去想怎......
  • C#异步编程概念和使用
    异步编程要搞懂3个概念async、Task、await;async修饰符指明方法为异步方法;Task是异步方法返回类型;await是运算符,用来等待异步方法完成;当在异步方法中调用异步方法(理解为启动任务),可以在合适的时机等待任务完成,然后再使用返回的结果,这就是异步编程的优势,可以在一个过程中执行多......
  • 2023.5.26编程一小时打卡
    一、问题描述:定义复数类MyComplex,主函数完成相关测试。MyComplex类结构说明:1、数据成员包括:私有数据成员:实部x(double)虚部y(double)。2、成员函数包括:无参构造函数MyComplex(void),其功能是将数据成员数部和虚部的值均设为0;有参构造函数MyComplex(doublevalue1,doublevalue2),其功能......