0から99までの値をとる乱数を1000個発生させ,発生した乱数の0から99までの頻度を計算し,
表示するプログラムにおいて、大きいfor文の回数を表す変数"all"は1000となるが、各数字の登場回数の和である"sum"の値が1000とならないのはなぜですか?
c
1#include <stdio.h> 2#include <time.h> 3#include <stdlib.h> 4 5int main(void){ 6 int num[100] = {0}; 7 int sum = 0 ; 8 int all = 0; 9 srand((unsigned) time(NULL)); 10 for(int i = 0; i < 1000 ; i++ ){ 11 for(int j = 0; j < 100 ; j++){ 12 if(rand() % 100 == j){ 13 num[j]++; 14 } 15 } 16 all += 1; 17 } 18 for(int i = 0; i < 100; i++) 19 sum = sum+num[i]; 20 printf("出現頻度\n"); 21 for(int j = 0; j < 100 ; j++){ 22 printf("%2dが%3d回\n",j,num[j]); 23 } 24 printf("%d\n",sum); 25 printf("%d\n",all); 26 return 0; 27}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/06 14:58