本日の課題
2010.06.21

Back


さいころを1000回振るとしたとき,それぞれの目が出た回数を数えて,比率を下 のように表示するプログラムを作りましょう.

Probabilities of each dice number:
   1      2      3      4      5      6
0.165  0.167  0.177  0.171  0.154  0.166

解答用紙


解答例

/* ************************************************** */
/*                                                    */
/*      情報科学演習 C6 C7                            */
/*      レポート課題                                  */
/*      2010.6.21                                     */
/*                                                    */
/* ************************************************** */
/*                                                    */
/*      学生番号:                                    */
/*                                                    */
/*      氏名:                                        */
/*                                                    */
/* ************************************************** */
/*                                                    */
/*      この行以降に解答のプログラムを書くこと        */

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

main()
{
	srand((unsigned) time(NULL));
	
	int dice, i, d1 = 0, d2 = 0, d3 = 0, d4 = 0, d5 = 0, d6 = 0;
	float p1, p2, p3, p4, p5, p6;
	
	for(i=1; i<=1000; i++){
		dice = rand() % 6 + 1;	

		switch(dice){
			case 1: d1++;
					break;
			case 2: d2++;
					break;
			case 3: d3++;
					break;
			case 4: d4++;
					break;
			case 5: d5++;
					break;
			case 6: d6++;
					break;
		}
	}
	
	p1 = d1 / 1000.0;
	p2 = d2 / 1000.0;
	p3 = d3 / 1000.0;
	p4 = d4 / 1000.0;
	p5 = d5 / 1000.0;
	p6 = d6 / 1000.0;
		
	printf("Probabilities of each cast of thrown dice:\n");
	printf("   1      2      3      4      5      6\n");
	printf("%1.3f  %1.3f  %1.3f  %1.3f  %1.3f  %1.3f\n", p1, p2, p3, p4, p5, p6);
	
	return(0);
}


戻る