- 締切済み
プログラミングの課題なのですが
プログラミングの課題なのですが、どうしても解くことができません。 次の問題の /* この部分に処理を追記する */ に当てはまる部分を教えてください。 よろしくお願いします。 以下のデータは、2008年の○×市における月別平均気温である。 ただし、3月、6月、9月のデータが欠測している。欠測データには-99.9 という値が入っている。 ここで、欠測の月を前後の月の平均値に置き換えることで月別平均気温を補間し、 補間されたデータを用いて年間平均気温を計算するプログラムを作成せよ。 #include <stdio.h> void main() { double dTemp[ ] = {5.3, 4.7, -99.9, 14.6, 19.2, -99.9, 28.6, 28.6, -99.9, 19.3, 13.2, 8.6}; double dTempSum = 0.0; double dTempAvg = 0.0; int i; /* 書き出し用のヘッダーを表示させる */ printf("月別気温\n"); printf("1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月, 9月, 10月, 11月, 12月\n"); for(i = 0; i < 12; i++) { /* その月の値が欠測値なら、前後の平均値として補間する */ /* ただし、一番初めと最後のデータの補間は今回は考えなくて良いものとする */ if(/* この部分に処理を追記する */ && i != 0 && i != 11) { /* この部分に処理を追記する */ } /* 各月の気温を積算する */ /* この部分に処理を追記する */ /* 各月の気温を表示する */ if(i != 11) { /* この部分に処理を追記する */ } else { /* この部分に処理を追記する */ } } /* 積算気温を12ヶ月で割って年間平均気温を算出 */ /* この部分に処理を追記する */ /* 各月の気温を表示する */ /* この部分に処理を追記する */ }
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- 和泉 博(@hiroshi09s)
- ベストアンサー率54% (59/109)
補足
いえ、下記のように書いたのですが、コマンドプロンプトで実行した結果全く違った結果が出てしまいました。 ・自分の書いたソース #include <stdio.h> void main() { double dTemp[ ] = {5.3, 4.7, -99.9, 14.6, 19.2, -99.9, 28.6, 28.6, -99.9, 19.3, 13.2, 8.6}; double dTempSum = 0.0; double dTempAvg = 0.0; int i; /* 書き出し用のヘッダーを表示させる */ printf("月別気温\n"); printf("1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月, 9月, 10月, 11月, 12月\n"); for(i = 0; i < 12; i++) { /* その月の値が欠測値なら、前後の平均値として補間する */ /* ただし、一番初めと最後のデータの補間は今回は考えなくて良いものとする */ if(dTemp[i] = -99.9 && i != 0 && i != 11) { dTemp[i]=(dTemp[i-1]+dTemp[i+1])/2; } /* 各月の気温を積算する */ dTempSum += dTemp[i]; /* 各月の気温を表示する */ if(i != 11) { printf("%d,",dTemp[i]); } else { printf("%d\n",dTemp[i]); } } /* 積算気温を12ヶ月で割って年間平均気温を算出 */ dTempAvg = dTempSum / 12; /* 平均気温を表示する */ printf("平均気温:%d℃\n",dTempAvg); } ・自分の結果 月別気温 1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月, 9月, 10月, 11月, 12月 0,-1717986918,-858993459,1717986912,-858993459,0,-1717986918,1717986919,1,-1717987008,1717986918,0 平均気温:858993460℃ ・目標とする結果 1月, 2 月, 3月, 4 月, 5 月, 6 月, 7 月, 8 月, 9月, 10月, 11月, 12月 5.30,4.70,9.65,14.60,19.20,23.90,28.60,28.60,23.95,19.30,13.20,8.60 年間平均気温:16.63