if文がうまく回りません。
if文がうまく回りません。
次のようなプログラムを作ろうとしています。
0.01 <= Te < =0.1 のとき Teを0.01ずつ増やす。
0.1 <= Te < =1 のとき Teを0.1ずつ増やす。
1 <= Te < =10 のとき Teを1ずつ増やす。
10 <= Te < =100 のとき Teを10ずつ増やす。
で作ったのが以下のプログラムになります。
Te[0] = 0.01;
for( j = 0; Te[j]<=100.0 ;j++){
if( 0.01 <= Te[j] && Te[j] < 0.1) { Te[j+1] = Te[j] + 0.010;}
else if( 0.1 <= Te[j] && Te[j] < 1) { Te[j+1] = Te[j] + 0.10;}
else if( 1 <= Te[j] && Te[j] < 10) { Te[j+1] = Te[j] + 1.0;}
else if( 10 <= Te[j] && Te[j] <= 100){ Te[j+1] = Te[j] + 10.0;}
printf("%d Te=%lf\n",j,Te[j]);
}
ですが結果を出力すると以下のようになります。
0 Te=0.010000
1 Te=0.020000
2 Te=0.030000
3 Te=0.040000
4 Te=0.050000
5 Te=0.060000
6 Te=0.070000
7 Te=0.080000
8 Te=0.090000
9 Te=0.100000
10 Te=0.110000 ←おかしい
11 Te=0.210000
12 Te=0.310000
13 Te=0.410000
14 Te=0.510000
15 Te=0.610000
16 Te=0.710000
17 Te=0.810000
18 Te=0.910000
19 Te=1.010000
20 Te=2.010000
21 Te=3.010000
22 Te=4.010000
23 Te=5.010000
24 Te=6.010000
25 Te=7.010000
26 Te=8.010000
27 Te=9.010000
28 Te=10.010000
29 Te=20.010000
30 Te=30.010000
31 Te=40.010000
32 Te=50.010000
33 Te=60.010000
34 Te=70.010000
35 Te=80.010000
36 Te=90.010000
10 Te=0.2000となってほしいのですが、なりません。
ここはどこがおかしいのでしょうか?
ご教授お願いします。
お礼
あ、ありがとうございます!!苦しかった・・・・