【发布时间】:2015-09-18 23:25:45
【问题描述】:
我正在为我的 C 类入门制作一个加法/乘法游戏。该程序的目标是询问用户,您想要使用的最大数字是多少,它将在该最大范围内播种随机数以及您想要做多少不同的问题。当我运行程序并进行数学运算时,它告诉我总和不正确,并为我提供了一个不正确的答案,通常是一个很大的数字,例如“1254323”。你能指出我做错了什么的正确方向吗?
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main() {
int maxNumber, num1, num2, sum, answer, problems, i;
srand(time(NULL));
//printf("Would you like 1)Addition or 2)Multiplication?\n")
printf("Enter your Max Number:");
scanf("%d", &maxNumber);
printf("How many problems do you want?\n");
scanf("%d", &problems);
sum = num1 + num2;
while(i != problems) {
num1 = rand()%maxNumber;
num2 = rand()%maxNumber;
i++;
printf("What is %d + %d\n",num1, num2);
scanf("%d", &answer);
if(answer != sum){
printf("Sorry, that's incorrect, the answer is %d\n", sum);
}
else{
printf("Correct!\n");
}
}
return 0;
}
【问题讨论】:
-
请注意(即使您将
sum = num1 + num2行放入循环中,您也会产生未定义的行为。阅读here。
标签: c random codeblocks random-seed