ページ 11

C言語:点数分布を20点刻みでグラフ表示

Posted: 2012年7月30日(月) 22:40
by kou2
c言語の勉強を高校でしていて以下のような問題が出され、どうすればいいのか考えてみたのですが解くことができません。申し訳ありませんがどなたか分かりやすい形で答えてくださいますようお願いします。
  問題:点数分布を20点刻みでグラフ表示してください。点数を入力し、終了する時は負の数を入力してください。
     
     *人数に制限は無く(恐らく繰り返しの作業?)、その各個人の点数を入力。「printf」「scanf」「for」を使って20点刻みの点数分布を作成。以下の様な形にしたい↓
                        
                     80- : **
                      60-80 : *** ←この * はその範囲に含まれる人数を表す。
                     40-60 : *
                     20-40 : ***
                       -20 : **
      
     そして補足してお願いしたい事が、以下の問題を上記の答えにそって答えてください。
                     ①この問題における基礎的考察
                     ②設計したデータ構造の説明
                     ③アルゴリズムの説明
                     ④ソースコードの説明
        
                                              

Re: C言語:点数分布を20点刻みでグラフ表示

Posted: 2012年7月31日(火) 01:30
by little
暇つぶしにやってみました。
多分仕様通りかと・・・。

コード:

#include <stdio.h>

int main(){
	// 初期化
	int ten = 0, count_A = 0, count_B = 0, count_C = 0, count_D = 0, count_E = 0;

	printf("■ 点数を入力してください\n");
	for(int i = 0;;i++){
		printf("%d人目:", i+1);
		scanf("%d", &ten);

		// 負の値で終了
		if(ten < 0){
			break;
		}
		if(ten > 79){
			count_A++;
		}else if(ten > 59){
			count_B++;
		}else if(ten > 39){
			count_C++;
		}else if(ten > 19){
			count_D++;
		}else{
			count_E++;
		}
	}

	printf("\n■ 点数分布\n");
	printf("80-  :");
	for(; count_A > 0; count_A--){   // カウントした分*表示
		printf("*");
	}
	printf("\n60-80:");
	for(; count_B > 0; count_B--){
		printf("*");
	}
	printf("\n40-60:");
	for(; count_C > 0; count_C--){
		printf("*");
	}
	printf("\n20-40:");
	for(; count_D > 0; count_D--){
		printf("*");
	}
	printf("\n  -20:");
	for(; count_E > 0; count_E--){
		printf("*");
	}
	printf("\n");
	return 0;
}
kou2 さんが書きました: そして補足してお願いしたい事が、以下の問題を上記の答えにそって答えてください。
                     ①この問題における基礎的考察
                     ②設計したデータ構造の説明
                     ③アルゴリズムの説明
                     ④ソースコードの説明
大体コメント入れました。

Re: C言語:点数分布を20点刻みでグラフ表示

Posted: 2012年7月31日(火) 09:35
by softya(ソフト屋)
マルチポストというか、こちらの回答コピペして質問しておられます。
フォーラムルール違反になりますので相互リンクをお願いします。
http://dixq.net/board/board.html

「以下は点数分布を20点刻みでグラフ表示化しようとした物です。教えて頂きたいの... - Yahoo!知恵袋」
http://detail.chiebukuro.yahoo.co.jp/qa ... 1391549158

Re: C言語:点数分布を20点刻みでグラフ表示

Posted: 2012年7月31日(火) 11:33
by asd
知恵袋の方はマルチポストの指摘が都合が悪かったのか取り消しされていますね。
取り消し前に保存したもの
http://www.peeep.us/bc83fb8d
オフトピック
この後はここに戻ってくるのか、ほかの場所にマルチポストするのか・・・