
/*月ごとの平均気温・降水量を構造体の配列に格納した後、 */
/*年間平均気温、年間平均降水量を求めるプログラムを作成せよ。*/
#include<stdio.h>
void main(void)
{
int i;
double total_kion, total_suiryo, av_kion, av_suiryo;
struct YEAR_DATA{
double kion[12];
double suiryo[12];
};
struct YEAR_DATA data[12] = {{3.6, 50},{4.3, 61},{7.5, 98},{13.5, 153},{18.0, 162},{21.7, 210},
{25.6, 218},{26.8, 170},{22.8, 209},{16.9, 121},{11.4, 74},{6.2, 48}};
for(i=0 ; i<12 ; i++){
total_kion += data[i].kion;
total_suiryo += data[i].suiryo;
}
av_kion = total_kion / 12;
av_suiryo = total_suiryo /12;
printf("年間平均気温 %lf\n", av_kion);
printf("年間平均降水量 %lf\n", av_suiryo);
}
構造体のところを勉強しています。
上の問題を解いてみたのですが、for文の中の2行に「浮動小数点の不正な使用」というエラーが起こってしまい、答も違っています。
どこが間違っているのか、ご指摘お願いします。

No.2ベストアンサー
- 回答日時:
Visual C++ 2003 でコンパイルした結果
誤りは以下
struct YEAR_DATA{
double kion;
double suiryo;
};
total_kion=0.0;
total_suiryo =0.0;
年間平均気温 14.858333
年間平均降水量 131.166667
No.3
- 回答日時:
for(i=0 ; i<12 ; i++){
total_kion += data[i].kion;
total_suiryo += data[i].suiryo;
}
この total_kion と total_suiryo を初期化してませんよ。
double total_kion;
と宣言した状態では、メモリ領域を確保しただけで
そのときのメモリ状態は保障されていません。
そこに += を使って書き込むと、初期値(未定)に
12ヶ月分の気温を足した値となり、答えが違ってきます。
for文の前に
total_kion = 0;
total_suiryo = 0;
を入れましょう。
No.1
- 回答日時:
struct YEAR_DATA{
double kion[12];
double suiryo[12];
};
とYEAR_DATAの要素が配列で定義されてるのに、
forの中では、
total_kion += data[i].kion;
total_suiryo += data[i].suiryo;
と、配列として参照してないからでは?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# C言語(構造体) 3 2022/07/05 20:08
- C言語・C++・C# Cのdoubleの浮動小数点表示について 3 2023/04/17 13:14
- C言語・C++・C# c言語でユーザ関数を利用して複素数のべき乗と絶対値の数列を計算するプログラムが作りたいです。 3 2023/01/29 22:13
- その他(プログラミング・Web制作) python コードについて(初学者です) 3 2023/07/20 14:44
- C言語・C++・C# プログラミングを教えて欲しいです。 配列aは、int a[9]={7,6,12,8,3,5,10,9 4 2022/12/19 23:27
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・昔のあなたへのアドバイス
- ・字面がカッコいい英単語
- ・許せない心理テスト
- ・歩いた自慢大会
- ・「I love you」 をかっこよく翻訳してみてください
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・はじめての旅行はどこに行きましたか?
- ・準・究極の選択
- ・この人頭いいなと思ったエピソード
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列の要素数に変数を入れたい...
-
関数から配列を返すには?
-
この変数名はわかりにくいですか?
-
C#で構造体の配列を持った構造...
-
辞書式順序
-
AfxBeginThread の引数について
-
エラー:浮動小数点の不正な使用
-
要素数・要素の値が未定の配列...
-
char型配列をint型に代入するには
-
int i, int i[1];
-
C言語の配列のコピーについて
-
万年カレンダーについて。
-
構造体の配列 char *' 型は 'ch...
-
define で 配列
-
c言語プログラミング 等差数列...
-
const で宣言してるのに、値が...
-
MFC - ダイアログボックスのPic...
-
C言語 ファイルの指定された行...
-
配列における数値の比較について
-
配列のアドレス部
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
関数から配列を返すには?
-
配列の要素数に変数を入れたい...
-
C#で構造体の配列を持った構造...
-
C言語において、 配列要素をひ...
-
define で 配列
-
構造体のextern方法
-
MFC - ダイアログボックスのPic...
-
C#で配列が空かを判定するには?
-
C言語 ファイルの指定された行...
-
2番目の最大値を求める
-
c言語
-
MFCのCArrayを使った二次元配列
-
コンボボックスでデフォルト値...
-
C言語の2次元配列 容量が大き...
-
配列のアドレス部
-
.NET C++で、構造体の配列をnew...
-
VB.NETにおける構造体の初期化
-
C言語の配列のコピーについて
-
万年カレンダーについて。
-
ポインタを使って構造体の配列...
おすすめ情報