#define NUMMONTHS 12
#define NUMYEARS 5
#include <stdio.h>
// function prototypes
void inputdata();
void printdata();
// Global variables
// These are available to all functions
float Raindata[NUMYEARS][NUMMONTHS];
float winddata[NUMYEARS][NUMMONTHS];
char years[NUMYEARS][5] = {"2011","2012","2013","2014","2015"};
char months[NUMMONTHS][12] ={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
int main ()
{
char enterData = 'y';
printf("Do you want to input Precipatation data? (y for yes)\n"); if (enterData == 'y') {
// Call Function to Input data
inputdata();
// Call Function to display data
printdata();
adddata();
}
else {
printf("No data was input at this time\n"); }
printf("Please try the Precipitation program again. \n"); return 0;
}
// function to inputdata
void inputdata() {
/* variable definition: */
float Rain=1.0, wind=1.0;
// Input Data
int year,month;
for ( year=0;year < NUMYEARS; year++) {
for ( month=0; month< NUMMONTHS; month++) {
printf("Enter rain for %d, %d:\n", year
+1, month
+1); printf("Enter wind for %d, %d:\n", year
+1, month
+1); Raindata[year][month]=Rain;
winddata[year][month]=wind;
}
}
}
// Function to printdata
void printdata(){
// Print data
int year,month;
printf ("year\t month\t rain\n"); for (year=0;year < NUMYEARS; year++) {
for (month=0; month< NUMMONTHS; month++) {
printf("%s\t %s\t %5.2f\n", years
[year
],months
[month
],Raindata
[year
][month
],winddata
[year
][month
] ); }
}
}
// Function to adddata
void adddata(){
// add data
int year,month;
printf ("year\t Raintotal\t windtotal\t\n"); for (year=0;year < NUMYEARS; year++) {
float sum = 0,wind = 0;
for (month=0; month< NUMMONTHS; month++) {
sum = sum + Raindata[year][month];
wind = wind + winddata[year][month];
}
printf("%s\t %5.2f\t %5.2f\n", years
[year
],sum
,wind
); }
}
I2RlZmluZSBOVU1NT05USFMgMTIKI2RlZmluZSBOVU1ZRUFSUyA1CiNpbmNsdWRlIDxzdGRpby5oPgovLyBmdW5jdGlvbiBwcm90b3R5cGVzCnZvaWQgaW5wdXRkYXRhKCk7CnZvaWQgcHJpbnRkYXRhKCk7Ci8vIEdsb2JhbCB2YXJpYWJsZXMKLy8gVGhlc2UgYXJlIGF2YWlsYWJsZSB0byBhbGwgZnVuY3Rpb25zCmZsb2F0IFJhaW5kYXRhW05VTVlFQVJTXVtOVU1NT05USFNdOwpmbG9hdCB3aW5kZGF0YVtOVU1ZRUFSU11bTlVNTU9OVEhTXTsKY2hhciB5ZWFyc1tOVU1ZRUFSU11bNV0gPSB7IjIwMTEiLCIyMDEyIiwiMjAxMyIsIjIwMTQiLCIyMDE1In07CmNoYXIgbW9udGhzW05VTU1PTlRIU11bMTJdID17IkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJ9OwppbnQgbWFpbiAoKQp7CiAgIGNoYXIgZW50ZXJEYXRhID0gJ3knOwogICBwcmludGYoIkRvIHlvdSB3YW50IHRvIGlucHV0IFByZWNpcGF0YXRpb24gZGF0YT8gKHkgZm9yIHllcylcbiIpOwogICBzY2FuZigiJWMiLCZlbnRlckRhdGEpOwogICBpZiAoZW50ZXJEYXRhID09ICd5JykgewogICAgICAgLy8gQ2FsbCBGdW5jdGlvbiB0byBJbnB1dCBkYXRhCiAgICAgICBpbnB1dGRhdGEoKTsKICAgICAgIC8vIENhbGwgRnVuY3Rpb24gdG8gZGlzcGxheSBkYXRhCiAgICAgICBwcmludGRhdGEoKTsKICAgICAgIGFkZGRhdGEoKTsKICAgfQogICBlbHNlIHsKICAgICAgIHByaW50ZigiTm8gZGF0YSB3YXMgaW5wdXQgYXQgdGhpcyB0aW1lXG4iKTsKICAgfQogICBwcmludGYoIlBsZWFzZSB0cnkgdGhlIFByZWNpcGl0YXRpb24gcHJvZ3JhbSBhZ2Fpbi4gXG4iKTsKICAgcmV0dXJuIDA7Cn0KLy8gZnVuY3Rpb24gdG8gaW5wdXRkYXRhCnZvaWQgaW5wdXRkYXRhKCkgewovKiB2YXJpYWJsZSBkZWZpbml0aW9uOiAqLwpmbG9hdCBSYWluPTEuMCwgd2luZD0xLjA7CiAgIC8vIElucHV0IERhdGEKICAgaW50IHllYXIsbW9udGg7CiAgIGZvciAoIHllYXI9MDt5ZWFyIDwgTlVNWUVBUlM7IHllYXIrKykgewogICAgICAgZm9yICggbW9udGg9MDsgbW9udGg8IE5VTU1PTlRIUzsgbW9udGgrKykgewogICAgICAgICAgIHByaW50ZigiRW50ZXIgcmFpbiBmb3IgJWQsICVkOlxuIiwgeWVhcisxLCBtb250aCsxKTsKICAgICAgICAgICBzY2FuZigiJWYiLCZSYWluKTsKICAgICAgICAgICBwcmludGYoIkVudGVyIHdpbmQgZm9yICVkLCAlZDpcbiIsIHllYXIrMSwgbW9udGgrMSk7CiAgICAgICAgICAgc2NhbmYoIiVmIiwmd2luZCk7CiAgICAgICAgICAgUmFpbmRhdGFbeWVhcl1bbW9udGhdPVJhaW47CiAgICAgICAgICAgd2luZGRhdGFbeWVhcl1bbW9udGhdPXdpbmQ7Cn0KfQp9Ci8vIEZ1bmN0aW9uIHRvIHByaW50ZGF0YQp2b2lkIHByaW50ZGF0YSgpewogICAvLyBQcmludCBkYXRhCiAgIGludCB5ZWFyLG1vbnRoOwogICBwcmludGYgKCJ5ZWFyXHQgbW9udGhcdCByYWluXG4iKTsKICAgZm9yICh5ZWFyPTA7eWVhciA8IE5VTVlFQVJTOyB5ZWFyKyspIHsKICAgICAgIGZvciAobW9udGg9MDsgbW9udGg8IE5VTU1PTlRIUzsgbW9udGgrKykgewogICAgICAgICAgICAgICBwcmludGYoIiVzXHQgJXNcdCAlNS4yZlxuIiwgeWVhcnNbeWVhcl0sbW9udGhzW21vbnRoXSxSYWluZGF0YVt5ZWFyXVttb250aF0sd2luZGRhdGFbeWVhcl1bbW9udGhdICk7Cn0KfQp9CgovLyBGdW5jdGlvbiB0byBhZGRkYXRhCnZvaWQgYWRkZGF0YSgpewogICAvLyBhZGQgZGF0YQogICBpbnQgeWVhcixtb250aDsKcHJpbnRmICgieWVhclx0IFJhaW50b3RhbFx0IHdpbmR0b3RhbFx0XG4iKTsKICAgZm9yICh5ZWFyPTA7eWVhciA8IE5VTVlFQVJTOyB5ZWFyKyspIHsKICAgICAgIGZsb2F0IHN1bSA9IDAsd2luZCA9IDA7CiAgICAgICBmb3IgKG1vbnRoPTA7IG1vbnRoPCBOVU1NT05USFM7IG1vbnRoKyspIHsKICAgICAgICAgICBzdW0gPSBzdW0gKyBSYWluZGF0YVt5ZWFyXVttb250aF07CiAgICAgICAgICAgd2luZCA9IHdpbmQgKyB3aW5kZGF0YVt5ZWFyXVttb250aF07ICAgIAp9CnByaW50ZigiJXNcdCAlNS4yZlx0ICU1LjJmXG4iLCB5ZWFyc1t5ZWFyXSxzdW0sd2luZCk7Cn0KfQ==