用C语言完成:提示用户输入城市信息,然后通过mapObj对象调用AddCity()成员函数将输入的信息追加到线性表尾部
时间: 2024-01-24 13:17:01 浏览: 25
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct city {
char name[20];
int population;
} City;
typedef struct map {
City* cities;
int size;
int capacity;
} Map;
void initMap(Map* map, int capacity) {
map->cities = (City*)malloc(sizeof(City) * capacity);
map->size = 0;
map->capacity = capacity;
}
void addCity(Map* map, char* name, int population) {
if (map->size == map->capacity) {
map->capacity *= 2;
map->cities = (City*)realloc(map->cities, sizeof(City) * map->capacity);
}
City newCity;
strcpy(newCity.name, name);
newCity.population = population;
map->cities[map->size++] = newCity;
}
int main() {
Map mapObj;
int capacity;
char name[20];
int population;
printf("Enter the capacity of the map: ");
scanf("%d", &capacity);
initMap(&mapObj, capacity);
printf("Enter city information (name population):\n");
scanf("%s %d", name, &population);
addCity(&mapObj, name, population);
return 0;
}
```