/* DO NOT TRACE this program, just predict the output produced */ #include #include #include #define kNameLength 20 typedef struct { char name[kNameLength]; int miles; } city_t; /* Find the closest of two cities */ city_t compare_cities(const city_t city1, const city_t city2); int main(void) { const city_t cities[81] = { {"",0}, {"Acapulco", 2260}, {"Amsterdam", 3639}, {"Antigua", 1783}, {"Aruba", 1963}, {"Athens", 4927}, {"Barbados", 2100}, {"Bermuda", 771}, {"Bogota", 2487}, {"Brussels", 3662}, {"Buenos Aires", 5302}, {"Caracas", 2123}, {"Copenhagen", 3849}, {"Curacao", 1993}, {"Frankfurt", 3851}, {"Geneva", 3859}, {"Glasgow", 3211}, {"Hamburg", 3806}, {"Kingston", 1583}, {"Lima", 3651}, {"Lisbon", 3366}, {"London", 3456}, {"Madrid", 3588}, {"Manchester", 3336}, {"Mexico City", 2086}, {"Milan", 4004}, {"Nassau", 1101}, {"Oslo", 3671}, {"Paris", 3628}, {"Reykjavik", 2600}, {"Rio de Janeiro", 4816}, {"Rome", 4280}, {"San Juan", 1609}, {"Santo Domingo", 1560}, {"St. Croix", 1680}, {"Tel Aviv", 5672}, {"Zurich", 3926} }; int one; int two; int city; city_t closest; for (city = 1; city < 12; city+=2) { printf("%d %s \t%d %s\n",city, cities[city].name, city+1, cities[city+1].name); } printf("Enter two city numbers: "); scanf("%d%d", &one, &two); printf("%s is %d miles from New York City.\n", cities[one].name, cities[one].miles); printf("%s is %d miles from New York City.\n", cities[two].name, cities[two].miles); closest = compare_cities(cities[one],cities[two]); printf("%s is closer.\n", closest.name); return 0; } city_t compare_cities(const city_t city1, const city_t city2) { if (city1.miles < city2.miles) { return city1; } else { return city2; } }