[ create a new paste ] login | about

Link: http://codepad.org/j3ptnJOQ    [ raw code | fork ]

C, pasted on May 19:
/*
	点数(0〜100)を読み込んで分布を表示
*/

#include  <stdio.h>

#define	 NUMBER		80		/* 人数の上限 */

int main(void)
{
    /* 0. 初期化 */
	int	 i, j;
	int	 num;				/* 実際の人数 */
	int	 tensu[NUMBER];		/* 学生の点数 */
	int	 bunpu[11] = {0};	/* 分布 */

    /* 1. 人数の入力 */
	printf("人数を入力してください:");
	do {
		scanf("%d", &num);
		if (num < 1  ||  num > NUMBER)
			printf("\a要【1以上%d以下】:", NUMBER);
	} while	(num < 1  ||  num > NUMBER);


    /* 2. データの入力 tensu[]へのデータ入力 */
	puts("点数を入力してください。");
	for (i = 0; i < num; i++) {
		printf("%2d番:", i + 1);
		do {
			scanf("%d", &tensu[i]);
			if (tensu[i] < 0  ||  tensu[i] > 100)
				printf("\a要【0以上100以下】:");
		} while (tensu[i] < 0  ||  tensu[i] > 100);
	}

    /* 3. 分布の計算 bunpu[11] の計算 */
	for (i = 0; i < num; i++) {
		bunpu[tensu[i] / 10]++;
	}


    /* 4. 分布の出力 */
	puts("\n 分布グラフ ");
	printf("      100:");
	for (j = 0; j < bunpu[10]; j++)
		putchar('*');
	putchar('\n');

	for (i = 9; i >= 0; i--) {
		printf("%3d - %3d: ", i * 10, i * 10 + 9);
		for (j = 0; j < bunpu[i]; j++)
			putchar('*');
		putchar('\n');
	}
	
	return (0);
}


Create a new paste based on this one


Comments: