C言語入門(6):反復構造。
反復構造 for
for 文を使って繰り返しの計算ができます。書式は以下のとおりです。
for (
初期値
;
条件式
;
増減式
)
{
statement
}
は、初期値と増減に従って loop 変数の値を増減させ、 条件式が成立している間、反復を行います。
(例題1)
セ氏(Celcius)とカ氏(Farenheit)の温度の関係は
(セ氏)=((カ氏)-32)5/9
です。下は、セ氏とカ氏の換算表を10度ごとに出力するプログラムです。 作成し、実行しましょう。
(実行結果)
gcc ex6-1.c -o ex6-1
./ex6-1
Farenheit Celcius
0.00 -17.78
10.00 -12.22
20.00 -6.67
30.00 -1.11
40.00 4.44
50.00 10.00
60.00 15.56
70.00 21.11
80.00 26.67
90.00 32.22
100.00 37.78
110.00 43.33
++ はインクリメント演算子、-- ディクリメント演算子といいます。 i++ (i--) は i の値を 1 だけ増やし(減らし)ます。
(課題6−1)
例題とは逆に セ氏からカ氏に換算するプログラムを作成し、実行しなさい。 セ氏を0度から100度まで5度きざみにしなさい。
(例題6−2)
以下のプログラムは、1 から n までの和を求めるプログラムです。 このプログラムを書いて、実行してみましょう。
(実行結果)
gcc ex6-2.c -o ex6-2
./ex6-2
input n: 29
1+2+...+n = 435
sum=sum+i は、sum の元の値に i だけ加えて sum に代入する演算である。
(課題6−2)
上のプログラムを参考にして、 2乗和 1
2
+2
2
+... +n
2
を計算するプログラムを作成し、実行しましょう。 公式 n(n+1)(2n+1)/6 と比較しなさい。
(課題6−3)
自然対数の底の値 e=1/0!+1/1!+1/2!+1/3!+.... を計算するプログラムを作成し、実行しましょう。 10 桁目まで正確に求めたい場合、第何項目まで和をとれば良いか?
余裕のある人へ
(課題6−4)
N個のデータを入力し、そのデータの合計、平均値、標準偏差 (2乗平均から平均の2乗を引いたものの平方根)を求めるプログラムを作成せよ。
Shimpei Endo, The University of Electro-Communications