【发布时间】:2021-08-17 02:57:24
【问题描述】:
我必须编写一个程序,在其中我必须将 x 骰子的结果与 n 面加或减一个常数(C)相加。输入应该是这样的字符串:“xDn+-C”(x、n 和 C 必须是十进制数)。例如:“4D5+6”或“6D9-5”。 D 的意思是“骰子”。
我使用了一个函数来随机化卷,但我不知道如何继续...
void initD6(void) {
srand((unsigned)time( NULL ) );
}
int D6(void) {
return ((rand()%6)+1);
}
int main(){
char Dice[4];
for(i=0; i<5; i++){
Dice[i] = D6();
return 0;
}
我不知道我应该如何将该输入作为字符串以及加减法,也不知道下一步该怎么做。
【问题讨论】:
-
如果你的任务是模拟任意骰子,为什么要为 D6 编写代码?
-
initD6应该是initDice,并且应该从main调用一次。D6应该是rollDie并且应该将n作为参数。您不需要Dice数组。您可以在掷骰子时计算总和。循环中的5必须是x。对于初始开发、测试、调试,我会在main函数中硬编码x、c和n。一旦你得到了掷骰子和总和编码并开始工作,那么你就可以继续阅读/解析用户输入了。