双骰子赌博——C++算法题

Question:掷两个骰子。每个骰子有六面,检查两个骰子的和。如果和为2、3或12(称为掷骰子),你就输了;如果和为7或11(称作自然),你就赢了;但如果和是其他数字,就确定了一个点。继续掷骰子,直到掷出一个7或掷出和刚才相同的点数。如果掷出的是7,你就输了。如果掷出的点数和你前一次掷出的点数相同,你就赢了。
 

以下是用C++来编写的一个程序来解决这个问题。

方法1:

#include 
#include 
#include using namespace std;int main() {// 获取当前时间的秒数,用于生成随机数种子srand(static_cast(time(nullptr)));int point = 0;while (true) {// 掷两个骰子,计算点数int dice1 = rand() % 6 + 1;int dice2 = rand() % 6 + 1;int sum = dice1 + dice2;cout << "玩家掷出了" << dice1 << "和" << dice2 << ",点数为" << sum << endl;// 判断掷出的点数是否为胜利点数if (sum == 7 || sum == 11) {cout << "玩家胜利!" << endl;break;} else if (sum == 2 || sum == 3 || sum == 12) {cout << "庄家胜利!" << endl;break;} else {if (point == 0) {// 确定点数point = sum;cout << "玩家确定了点数" << point << endl;} else if (sum == 7) {cout << "庄家胜利!" << endl;break;} else if (sum == point) {cout << "玩家胜利!" << endl;break;}}}return 0;
}

方法2:

#include
#include
using namespace std;
void main()
{int last=0;srand((unsigned)time(0));int a,b;while(1){a=rand()%6+1;b=rand()%6+1;cout<<"你掷出了"<

这两个方法都可以实现,免费复制哦!


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部