void CalcCityStatistic( CityList *L ) { int i; float TotalArea = 0.0, TotalPopulation = 0.0, TotalGDP = 0.0; printf( "\n\n" ); // 统计所有城市的 '面积( 平方公里 )', '人口( 万 )', 和 '地区生产总值( 亿元 )' 平均值 ... for (i = 0; i <= L->Len; i++) { TotalArea += L->DataArray[i].Area; TotalPopulation += L->DataArray[i].Population; TotalGDP += L->DataArray[i].GDP; } // 打印输出统计结果 ... printf( "\t< 城市平均 面积 为 : %.2f ( 平方公里 )>\n", ( TotalArea / ( L -> Len + 1 ) ) ); printf( "\t< 城市平均 人口 为 : %.2f ( 万 )>\n", ( TotalPopulation / ( L -> Len + 1 ) ) ); printf( "\t< 城市平均 GDP 为 : %.2f ( 亿元 )>\n", ( TotalGDP / ( L -> Len + 1 ) ) ); }int FindCityByName( CityList *L, char *s ) { int i; for( i = 0; i < L->Len; i++ ) { if( strcmp( L->DataArray[i].Name, s ) == 0 ) { return i; } } return -1; // 没有找到对应的城市记录} }详细解读这段代码
时间: 2024-03-29 14:42:00 浏览: 43
js-city.rar_city_cityList._citylist.js
这段代码定义了两个函数:CalcCityStatistic和FindCityByName。下面分别对这两个函数进行解读。
1. CalcCityStatistic函数
该函数的作用是统计城市列表中所有城市的面积、人口和地区生产总值的平均值,并打印输出结果。
具体实现步骤如下:
1)定义三个变量TotalArea、TotalPopulation和TotalGDP分别表示所有城市的面积、人口和地区生产总值之和,初始值均为0.0。
2)通过for循环遍历城市列表中所有城市,累加每个城市的面积、人口和地区生产总值到相应的变量中。
3)计算所有城市的平均面积、平均人口和平均地区生产总值。
4)使用printf函数打印输出统计结果。
2. FindCityByName函数
该函数的作用是在城市列表中查找指定名称的城市记录,并返回该城市记录的索引值。
具体实现步骤如下:
1)通过for循环遍历城市列表中所有城市,使用strcmp函数比较城市名称是否与指定名称相同,如果相同则返回该城市记录的索引值。
2)如果遍历完整个城市列表后仍未找到指定名称的城市,则返回-1表示没有找到。
阅读全文