【发布时间】:2015-05-02 15:55:04
【问题描述】:
我正在创建一个骰子游戏,用户在其中掷 3 个骰子并获得一些随机输出(最多为整数 6)。我的下一步是将获得的这 3 个值相加并得到其总和。 我如何实现这一目标?任何建议都会有所帮助。
这是我的源代码:
//Roll-a-dice Game!
int main(){
char input1;
char input2;
char input3;
int i;
int diceRoll;
int sumDice = (int)(input1-'0') + (int)(input2-'0') + (int)(input3-'0');
printf("User's First Input: (Press any key to continue) ");
scanf("\n %c", &input1);
for(i=0;i<1;i++){
diceRoll = (rand()%6) + 1;
printf("%d\n\n", diceRoll);
}
printf("User's Second Input: (Press any key to continue) ");
scanf("\n %c", &input2);
for(i=0;i<1;i++){
diceRoll = (rand()%6) + 1;
printf("%d\n\n", diceRoll);
}
printf("User's Third Input: (Press any key to continue) ");
scanf("\n %c", &input3);
for(i=0;i<1;i++){
diceRoll = (rand()%6) + 1;
printf("%d\n\n", diceRoll);
}
printf("Sum of observations: %d", sumDice);
return 0;
}
sumDice 函数没有输出正确答案,我认为问题出在这个特定函数的某个地方。
【问题讨论】:
-
你需要计算
sumDice在你掷骰子之后,而不是之前。 -
您在对变量进行任何输入之前计算
sumDice。在得到它们之前,你希望如何对它们求和?这是显而易见的常识:在你把钱放在钱包里之前,你不能数钱包里的钱。当您编写代码甚至懒得阅读您所写的内容(或从其他人那里复制/粘贴代码而不了解它的作用)时,就会发生这种情况。 -
你为什么要对字符求和?
-
@KenWhite 首先,我为我的不幸错误道歉,可能的原因是我缺乏注意力或常识。我很遗憾在发布之前没有回顾我的代码。这只是我在调试代码时遇到的一个小剪切/粘贴错误的问题。
-
不要编辑问题来合并答案;这样做会使所有答案都无效。