C语言编程:骰子游戏谁赢的概率更大?
以下是使用C语言编写的解决方案:
#include <stdio.h>
int main() {
int t;
scanf("%d", &t);
while (t--) {
int dice1[6], dice2[6];
int mingWin = 0, hongWin = 0;
// 读取第一个骰子的数字
for (int i = 0; i < 6; i++) {
scanf("%d", &dice1[i]);
}
// 读取第二个骰子的数字
for (int i = 0; i < 6; i++) {
scanf("%d", &dice2[i]);
}
// 比较骰子的数字,统计小明和小红获胜的次数
for (int i = 0; i < 6; i++) {
for (int j = 0; j < 6; j++) {
if (dice1[i] > dice2[j]) {
mingWin++;
} else if (dice1[i] < dice2[j]) {
hongWin++;
}
}
}
// 输出结果
if (mingWin > hongWin) {
printf("win\n");
} else if (mingWin < hongWin) {
printf("lose\n");
} else {
printf("same\n");
}
}
return 0;
}
解释:
- 首先,使用
scanf函数读取一个整数t,表示有t组数据。 - 使用一个
while循环处理每一组数据。 - 对于每一组数据,定义两个数组
dice1和dice2,分别存储第一个和第二个骰子的数字。 - 使用两个嵌套的
for循环,比较两个骰子的数字。如果第一个骰子的数字大于第二个骰子的数字,说明小明获胜,小明获胜次数加一;如果第一个骰子的数字小于第二个骰子的数字,说明小红获胜,小红获胜次数加一。 - 循环结束后,根据小明和小红获胜的次数,输出结果。如果小明获胜次数多于小红获胜次数,输出"win";如果小明获胜次数少于小红获胜次数,输出"lose";如果两者获胜次数相同,输出"same"。
- 注意:在示例代码中,我们假设每个骰子上的数字都不超过100,并且每组数据的输入格式是正确的。您可以根据实际情况进行调整。
原文地址: https://www.cveoy.top/t/topic/bTdK 著作权归作者所有。请勿转载和采集!