#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
srand(time(NULL));
// Use these variables in a switch statement to count each digit.
int x0 = 0, x1 = 0, x2 = 0, x3 = 0, x4 = 0, x5 = 0,
x6 = 0, x7 = 0, x8 = 0, x9 = 0, num;
for (int i = 0; i < 5; i++) {
num = rand() % 1000;
printf("%d\n", num);
switch (num % 10) { // Splits third digit and counts.
case 0: x0++; break;
case 1: x1++; break;
case 2: x2++; break;
case 3: x3++; break;
case 4: x4++; break;
case 5: x5++; break;
case 6: x6++; break;
case 7: x7++; break;
case 8: x8++; break;
case 9: x9++; break;
}
switch (num/10 % 10) { // Splits second digit and counts.
// add case statements
}
switch (num/100 % 10) { // Splits first digit and counts.
// add case statements
}
}
printf("You have %d 0 digits.\n", x0); // Testing
printf("You have %d 1 digits.\n", x1);
return 0;
}
我想在0-999之間生成200個隨機數字,將它們分成數字,並獲得每個數字的頻率計數而不使用任何數組。我玩弄了一下,想出瞭如何拆分一個數字(以相反的順序)以及如何生成隨機數字。現在我該如何拆分所有200個數字並將這些數字存儲在變量中,我可以使用這些數字?我是否需要三個變量,分別命名爲digit1
,digit2
,digit3
?如何分割C中的隨機數並獲得每個數字的頻率計數而不使用數組?
注意:這是作業,所以我不允許使用數組,並且必須使用switch
語句來計算每個數字的頻率。
您需要10個變量來存儲計數,例如, count0,count1,... count9。數字可以循環提取,除非你不允許使用循環:/ – user3386109
我被允許使用循環,幸好哈哈。 –
你不應該被允許在一個源文件':-)'中扔太多換行和空間不足' – chqrlie