プログラム言語 II TOP

演 習

関数



1. 次のように重さにより料金が決まるサービスがある。

 重さ  50グラム以下   100グラム以下   150グラム以下 
 料金  120円 140円 200円


ただし,150グラムを越えた場合は,規格外としてサービスが提供されない。

重さを引数で渡されると,料金を求めて返却値とする関数serviceを作りなさい。ただし,規格外の場合は0を返却値とする。

この関数を呼び出す main の例を次に示す。

  main()
  {
   int service(int);
   int weight;
   int fare;

   while (scanf("%d", &weight) != EOF) {
   fare = service(weight);
   if (fare > 0) printf("重さ %d グラム 料金 %d 円\n", weight, fare);
   else printf("規格外 重さ %d グラム\n", weight);
   }
  }


 解答例(講義終了までリンク未設定)


2. 正の整数を2つ引数で渡されると,再帰関数xyzはどのような値を求めて返却値とするのか述べなさい。

  int xyz(int a, int b)
  {
   if (b > 1) return xyz(a, b-1)+1;
   else return a+1;
  }


 解説(講義終了までリンク未設定)


プログラム言語 II TOP