以前のリビジョンの文書です


第14回の演習課題

ex14-masu.c

要素の値が 0 から100 の範囲にある大きさ50の整数型の配列変数 data[] と,配列 data[] の要素の値が 0〜9, 10〜19, …, 90〜99, 100 のような10刻みの範囲に何個ずつ含まれているかを*で出力するプログラム ex14-masu.c の一部が以下のように与えられてる. ex14-masu.c 完成させてkiso2コマンドを用いて提出しなさい。

ex14-masu.c
#include <stdio.h>
 
#define N 11 //a[]の個数
#define M 50 //data[]の個数
 
/* 関数のプロトタイプ宣言 */
 
int main(void)
{
   int data[] = {57, 25, 5, 82, 39, 37, 3, 16, 1, 7, 80, 4, 72, 81, 95, 8, 67, 83, 9, 95, 40, 13, 34, 49, 100, 83, 79, 5, 90, 11, 8, 96, 89, 38, 30, 45, 59, 90, 32, 71, 42, 6, 57, 84, 97, 17, 84, 51, 64, 56};
 
   int a[N]={0}, i; //10刻みの範囲に何個ずつ含まれているかを格納する配列 a
   proc(a,data);   //10刻みの範囲に何個ずつ含まれているかを格納する処理
 
   for(i=0;i<N;i++){
      printf("%3d - %3d: ", /* %dに対応する変数 */ );
      starwrt( /* 対応する変数 */ );
   }
   return 0;
}
 
void proc( /* 対応する引数 */)
{
  int i;
  for(i=0;i<M;i++)
    a[data[i]/10]++;
  return;
}
 
 
void starwrt(int n)
{
   int i;
   for(i=0;i<n;i++)
      printf("*");
   printf("¥n");
   return;
}

実行例:

t180900@s01cd0542-160:~/kiso2-2018/ex14$ ./ex14-masu
  0 -   9: **********
 10 -  19: ****
 20 -  29: *
 30 -  39: ******
 40 -  49: ****
 50 -  59: *****
 60 -  69: **
 70 -  79: ***
 80 -  89: ********
 90 -  99: ******
100 - 109: *

ex14-who.c

  • lecture/kiso2/2018/ex14.1546904736.txt.gz
  • 最終更新: 2019/01/08 08:45
  • by sano