« Excel 2007のバグ | トップページ | PostScriptも扱える多機能画像ビューワー Xnview »

2007/09/27

10点問題:身長の度数分布

今回の問題も10点問題です。

健康診断で生徒の身長を計測しました。その身長を入力とし、度数分布を作成して出力し終了するプログラムを作成してください。度数分布の階級は5㎝刻みの6つの階級とし、度数は人数を*(半角アスタリスク)で表示します。ただし、その階級の度数(人数)が0(ゼロ)の場合、階級の見出しのみを出力してください。生徒の数は40人以下とします。

入力
1行目 生徒の数n(整数)
2行目 1人目の身長(実数:小数第1位まで)
3行目 2人目の身長(実数:小数第1位まで)

n+1行目 n人目の身長(実数:小数第1位まで)

出力
1行目 見出し「1:」につづいて165.0cm未満の人数分の*(半角)
2行目 見出し「2:」につづいて165.0cm以上~170.0cm未満の人数分の*(半角)
3行目 見出し「3:」につづいて170.0cm以上~175.0cm未満の人数分の*(半角)
4行目 見出し「4:」につづいて175.0cm以上~180.0cm未満の人数分の*(半角)
5行目 見出し「5:」につづいて180.0cm以上~185.0cm未満の人数分の*(半角)
6行目 見出し「6:」につづいて185.0cm以上の人数分の*(半角)

という問題です。私は次のように書いてみました。

//設問2 身長の度数分布

#include <stdio.h>

int main(void)
{
  int    dosu[6] = {0,0,0,0,0,0};
  int    i;
  int    people;
  double height;
  char   str[] = "*";

  printf("身長の度数分布\n");
  printf("生徒の数:");
  scanf("%d", &people);

  for(i=1 ; i<=people ; i++){
    printf("%d人目の身長(小数第1位まで):", i);
    scanf("%lg", &height);
    
    if(height < 165.0){
      dosu[0]++;
    }else if(height >= 165.0 && height < 170.0){
      dosu[1]++;
    }else if(height >= 170.0 && height < 175.0){
      dosu[2]++;
    }else if(height >= 175.0 && height < 180.0){
      dosu[3]++;
    }else if(height >= 180.0 && height < 185.0){
      dosu[4]++;
    }else if(height >= 185.0){
      dosu[5]++;
    }
  }

  printf("%d:", 1);
  for(i=1 ; i<=dosu[0] ; i++){
    printf("%s", str);
  }
  printf("\n");

  printf("%d:", 2);
  for(i=1 ; i<=dosu[1] ; i++){
    printf("%s", str);
  }
  printf("\n");

  printf("%d:", 3);
  for(i=1 ; i<=dosu[2] ; i++){
    printf("%s", str);
  }
  printf("\n");

  printf("%d:", 4);
  for(i=1 ; i<=dosu[3] ; i++){
    printf("%s", str);
  }
  printf("\n");

  printf("%d:", 5);
  for(i=1 ; i<=dosu[4] ; i++){
    printf("%s", str);
  }
  printf("\n");

  printf("%d:", 6);
  for(i=1 ; i<=dosu[5] ; i++){
    printf("%s", str);
  }
  printf("\n");
  
  return 0;
}

|

« Excel 2007のバグ | トップページ | PostScriptも扱える多機能画像ビューワー Xnview »

C」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/222903/16591812

この記事へのトラックバック一覧です: 10点問題:身長の度数分布:

« Excel 2007のバグ | トップページ | PostScriptも扱える多機能画像ビューワー Xnview »