(2)整数型の変数,a = 6, b = 5 とするとき,次の各計算結果を画面に表示するプログラムを作成しよう.
解答例:
#include <stdio.h>
void main()
{
int a,b; /*ここはコメント.C言語のとき宣言は最初*/
a = 6; /*ここはコメント.aに6を代入*/
b = 5; /*ここはコメント.bに5を代入*/
printf("a×b=%d¥n",a*b);
printf("a÷b=%d¥n",a/b);
printf("a%%b=%d¥n",a%b); /*ここはコメント.半角%を表示させるには,%%と打つ*/
printf("a^2 + ab =%d¥n",a*a+a*b);
}
結果:
a = 6 b = 5 a x b = 30 a / b = 1 a % b = 1 a^2 + ab = 66
あれ,割り算の結果が思い通りになりませんね.
わり算の結果(商)は,実数になるはずなので,
printf("a / b = %f ¥n", a/b);
としてみよう.さあ,どうでしょう?
a / b = 0.000000
ますますおかしくなりましたね.これは,同じ型同士で演算をすると結果も同じ型になるからである.
上の例だと,
[整数]=[整数]÷[整数]
となるため,商が正しく求まりません.そこで,別の実数の変数を用意して,
[実数]=[整数]÷[整数]
となるように,書き換えてみよう.
#include <stdio.h>
void main()
{
int a, b;
float c;
a = 6;
b = 5;
c = a / b;
printf("a / b = %f¥n", c);
}
結果:
a / b = 1.000000
まだ,おかしいですね.
わり算をうまく行うには,
[実数]=[実数]÷[実数]
としなくてはならない.そこで整数から実数に変数の型を変換する必要がある. 型を変換することを キャスト と呼ぶ.
#include <stdio.h>
void main()
{
int a, b;
float c;
a = 6;
b = 5;
c = (float)a / (float)b;
printf("a / b = %f ¥n", c);
}
結果:
a / b = 1.200000
やっと,意図した結果が得られた.
このように,計算の途中で型が思い通りにならないことが多く出てくる.気をつけてプログラムを作ろう.
(1)先週のプログラムを,わり算が正しく計算できるようにする。
(2)キーボードから整数の値で秒数を入力すると,その秒数が,何時間何分何秒か表示する。
(3)人は1kg減量するためには7500kcal消費する必要があるとする。みんながビリーズブートキャンプでダイエットすると1週間のトレーニングで2500kcal消費できる。キーボードから今の体重(kg)と目標体重(kg)を入力すると,あと何kcal消費する必要があり,何週間ビリーズブートキャンプでトレーニングする必要があるか表示するプログラムを作成せよ。*体重は浮動小数型で定義しなさい*
(4)肥満度を表す指標にBMI(Body Mass Index)というものがある。これはWHOで基準が発表されているが,18.5から25までが正常範囲とされている。
BMI=体重(kg) ÷ 身長2(m)
キーボードから体重と身長を入力(単位に注意!)すると,BMI値を計算して画面に表示するプログラムを作成せよ。
(5)キーボードから,10個の数字を入力すると,その数字の和と,平均値を求めるプログラムを作成せよ。
授業終了時までのプログラムと完成した提出用プログラムをoh-meijiシステムを使って提出すること
授業終了時に送るのは出席の確認用である.完成した課題は提出用の回に送ること
(提出用の回に提出しないと,採点を行わない)
下記の2つのフローチャートを書いてくること。11月10日授業開始時に,レポートを集めます。
(1)以下の表のように,求めたBMI値により肥満度が分類されている。この判定結果を画面に表示するようなフローチャートを書いてくる。
BMI | 判定 |
18.5未満 | やせ |
18.5〜25 | 普通 |
25以上 | 肥満 |
(2)上記(5)をループを使ったアルゴリズムを考え,フローチャートを書いてくる。