C语言模拟投掷两次骰子获取不同点数
C语言模拟投掷两次骰子获取不同点数
代码实现c#include <stdio.h>#include <stdlib.h>#include <time.h>
int main() { int dice1, dice2; srand(time(NULL)); // 设置随机数种子 // 投掷第一个骰子 dice1 = rand() % 6 + 1; printf('第一次投掷的点数为: %d ', dice1); // 投掷第二个骰子,直到点数与第一个骰子不同 do { dice2 = rand() % 6 + 1; } while (dice2 == dice1); printf('第二次投掷的点数为: %d ', dice2); return 0;}
代码解读
-
引入头文件: *
stdio.h: 提供标准输入输出函数,如printf。 *stdlib.h: 提供通用工具函数,如rand和srand。 *time.h: 提供时间相关函数,如time。 -
设置随机数种子: *
srand(time(NULL));使用当前时间作为种子来初始化随机数生成器,确保每次运行程序时生成不同的随机数序列。 -
模拟第一次投掷: *
dice1 = rand() % 6 + 1;使用rand()函数生成随机数,并通过% 6将其限制在0到5之间,然后加1得到1到6之间的随机整数,模拟一次骰子投掷。 -
模拟第二次投掷: * 使用
do-while循环重复投掷骰子,直到第二次投掷的点数dice2与第一次dice1不同。 -
输出结果: * 使用
printf函数打印两次投掷的点数。
总结
这段代码简洁地展示了如何使用C语言模拟投掷两次骰子并确保得到不同的点数,代码逻辑清晰,易于理解。
原文地址: https://www.cveoy.top/t/topic/UYt 著作权归作者所有。请勿转载和采集!