SOFTWARE 1, HANDOUT 1 Example Programs, Chapter 1 of ABC ================================== // hello.c #include int main(void) { printf("Hello, world!\n"); return 0; } ============================================================= // from_sea.c #include int main(void) { printf("\n\n\n\n\n\n\n\n\n\n"); printf(" ***********************\n"); printf(" * from sea *\n"); printf(" * to shining C *\n"); printf(" ***********************\n"); printf("\n\n\n\n\n\n\n\n\n\n"); return 0; } ============================================================= // distance.c /* The distance of a marathon in kilometers. */ #include int main(void) { int miles, yards; float kilometers; miles = 26; yards = 385; kilometers = 1.609 * (miles + yards / 1760.0); printf("\nA marathon is %f kilometers.\n\n", kilometers); return 0; } ============================================================= // pacific_sea.c /* Measuring the Pacific Sea. */ #include "pacific_sea.h" int main(void) { const int pacific_sea = AREA; /* in sq kilometers */ double acres, sq_miles, sq_feet, sq_inches; printf("\nThe Pacific Sea covers an area"); printf(" of %d square kilometers.\n", pacific_sea); sq_miles = SQ_MILES_PER_SQ_KILOMETER * pacific_sea; sq_feet = SQ_FEET_PER_SQ_MILE * sq_miles; sq_inches = SQ_INCHES_PER_SQ_FOOT * sq_feet; acres = ACRES_PER_SQ_MILE * sq_miles; printf("In other units of measure this is:\n\n"); printf("%22.7e acres\n", acres); printf("%22.7e square miles\n", sq_miles); printf("%22.7e square feet\n", sq_feet); printf("%22.7e square inches\n\n", sq_inches); return 0; } ===== // the file pacific_sea.h: #include #define AREA 2337 #define SQ_MILES_PER_SQ_KILOMETER 0.3861021585424458 #define SQ_FEET_PER_SQ_MILE (5280 * 5280) #define SQ_INCHES_PER_SQ_FOOT 144 #define ACRES_PER_SQ_MILE 640 ===== output: ------- The Pacific Sea covers an area of 2337 square kilometers. In other units of measure this is: 5.7748528e+05 acres 9.0232074e+02 square miles 2.5155259e+10 square feet 3.6223572e+12 square inches ============================================================= // input.c #include int main(void) { char c1, c2, c3; int i; float x; double y; printf("\n%s\n%s", "Input three characters," "an int, a float, and a double: "); scanf("%c%c%c%d%f%lf", &c1, &c2, &c3, &i, &x, &y); printf("\nHere is the data that you typed in:\n"); printf("%3c%3c%3c%5d%17e%17e\n\n", c1, c2, c3, i, x, y); return 0; } ============================================================= // while.c #include int main(void) { int i = 1, sum = 0; while (i <= 5) { sum += i; ++i; } printf("sum = %d\n", sum); return 0; } ============================================================= // for_min_max.c /* Compute the minimum, maximum, sum, and average. */ #include #include int main(void) { int i; double x, min, max, sum, avg; if (scanf("%lf", &x) != 1) { printf("No data found - bye!\n"); exit(1); } min = max = sum = avg = x; printf("%5s%9s%9s%9s%12s%12s\n%5s%9s%9s%9s%12s%12s\n\n", "Count", "Item", "Min", "Max", "Sum", "Average", "-----", "----", "---", "---", "---", "-------"); printf("%5d%9.1f%9.1f%9.1f%12.3f%12.3f\n", 1, x, min, max, sum, avg); for (i = 2; scanf("%lf", &x) == 1; ++i) { if (x < min) min = x; else if (x > max) max = x; sum += x; avg = sum / i; printf("%5d%9.1f%9.1f%9.1f%12.3f%12.3f\n", i, x, min, max, sum, avg); } } ============================================================= // getchar.c #include int main(void) { int c; while ((c = getchar()) != EOF) putchar(c); return 0; } ============================================================= // scanf.c #include int main(void) { char c; while (scanf("%c", &c) == 1) { printf("%c", c); printf("%c", c); } return 0; } ============================================================= // div_zero.c #include int main(void) { int x, y = 0; x = 1 / y; printf("x = %d\n", x); return 0; } ============================================================= // for_minmax_func.c #include float maximum(float x, float y); float minimum(float x, float y); void prn_info(void); int main(void) { int i, n; float max, min, x; prn_info(); printf("Input n: "); scanf("%d", &n); printf("\nInput %d real numbers: ", n); scanf("%f", &x); max = min = x; for (i = 2; i <= n; ++i) { scanf("%f", &x); max = maximum(max, x); min = minimum(min, x); } printf("\n%s%11.3f\n%s%11.3f\n\n", "Maximum value:", max, "Minimum value:", min); return 0; } float maximum(float x, float y) { if (x > y) return x; else return y; } float minimum(float x, float y) { if (x < y) return x; else return y; } void prn_info(void) { printf("\n%s\n%s\n\n", "This program reads an integer value for n, and then", "processes n real numbers to find max and min values."); }