我正在爲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'行加入到循環中之後,您正在生成_undefined behaviour__。Read [here](http://stackoverflow.com/questions/30821406/why-does- rand-rand-produce-negative-numbers/30821874#30821874)。 – Olaf