2018/2,19.5,-1.1,50.0
上記のような入力に対して、構造体を用いて年・月・最高気温・最低気温・降水量を出力するプログラムを作製しました。
同様の入力が大量になされるデータ
2018/2,19.5,-1.1,50.0
2018/3,29.5,-2.1,34.0
2018/4,11.2,-1.9,36.0
などにおいて、構造体の配列を定義する事で属性情報を出力したいです。
構造体をweatherdataとして定義した後に、ループを用いて繰り返し入力を行い、それを再度ループによって出力するコードを考えました。
配列として入力されたデータを得るためにはどのように修正すべきでしょうか。
C
1#include <stdio.h> 2 3int main(void) { 4 5 int i = 0; 6 7 // 構造体の定義 8 struct weatherdata{ 9 int y, m; 10 float maxte; 11 float minte; 12 float rain; 13 } w; 14 15 // データの読み込み 16 struct w a[30] = { 17 for(i = 0; i < 30; i++){ 18 scanf("%d/%d", &a[i].y, &a[i].m); 19 scanf(",%f,%f,%f", &a[i].maxte, &a[i].minte, &a[i].rain); 20 } 21 }; 22 23 // データの出力 24 w a[30] = { 25 for(i = 0; i < 240; i++){ 26 printf("year=%d, month=%d ", w.y, w.m); 27 printf("maxtemp=%.1f, \nmintemp=%.2f, precipitation=%.1f\n", w.maxte, w.minte, w.rain); 28 } 29 }; 30 31 return 0; 32}
回答2件
あなたの回答
tips
プレビュー