亚洲基础设施投资银行(Asian Infrastructure Investment Bank ,简称亚投行,AIIB)是一个政府间性质的亚洲区域多边开发机构,
重点支持基础设施建设,总部设在北京。
截止2015年4月15日,已有57个国家正式成为亚投行意向创始成员国,包括奥地利、澳大利亚、阿塞拜疆、孟加拉国、巴西、文莱、柬埔寨、
中国、丹麦、埃及、法国、芬兰、格鲁吉亚、德国、冰岛、印度、印度尼西亚、伊朗、以色列、意大利、约旦、哈萨克斯坦、韩国、科威特、
吉尔吉斯斯坦、老挝、卢森堡、马来西亚、马尔代夫、马耳他、蒙古、缅甸、尼泊尔、荷兰、新西兰、挪威、阿曼、巴基斯坦、菲律宾、波兰、
葡萄牙、卡塔尔、俄罗斯、沙特阿拉伯、新加坡、南非、西班牙、斯里兰卡、瑞典、瑞士、塔吉克斯坦、泰国、土耳其、阿联酋、英国、乌兹别克斯坦和越南。
请编写程序实现以下要求:
1.从键盘输入每个成员国的数据至一个结构体数组中;
void ReadData( struct AIIB members[],int n );
2.将该数组中的数据写入文件data.txt中;
void WriteFileArray( struct AIIB members[],int n );
3.从文件data.txt中依次读取每个成员国的数据创建成链表;
struct Link *ReadFile( );
4.在显示器上输出该链表的信息;输出格式设置字符串为:"%-5d%-15s%8.3f\n" ;即结点序号、成员国名、GDP
void Display( struct Link *head );
5.如果AIIB举行某仪式,则需要安排出场顺序;
请按各成员国在字母表中的顺序对链表进行插入法排序,并将排序后的链表输出至显示器;
struct Link *SortInsertLink( struct Link *head );
6.将排序后的链表写入文件SortCountry.txt中;
void WriteFileLink( struct Link *head );
7.销毁该链表;
void Destroy( struct Link *head );
8.AIIB有可能是以各国的GDP为主要依据进行股权划分的;
再从文件data.txt中读数据重新创建链表,按GDP有大到小对链表进行选择法排序,并将排序后的链表输出至显示器;
void SortSelectLink( struct Link *head );
9.将排序后的链表写入文件SortGDP.txt中;
要求:只能调用WriteFileLink( struct Link *head )函数,不能再定义新的函数;
10.销毁该链表。
附1:
类型定义:
struct AIIB
{
char country[20];
float gdp;
};
struct Link
{
struct AIIB data;
struct Link *next;
};
附2:
成员国名称 GDP(单位:10亿美元)
China 9038.66
Bangladesh 126.654
Brunei 16.481
Kampuchea 15.676
India 2117.28
Kazakhstan 220.141
Kuwait 175.249
Laos 10.27
Malaysia 340.002
Mongolia 12.854
Burma 59.348
Nepal 20.199
Oman 82.876
Pakistan 236.625
Philippines 258.517
Qatar 190.918
Singapore 277.86
SriLanka 24.931
Thailand 412.711
Uzbekistan 57.684
Vietnam 151.876
Indonesia 1006.89
Maldives 2.088
NewZealand 174.035
Tajikistan 7.766
Jordan 33.847
Britain 2532.05
France 2562.62
Italy 1953.82
Germany 3373.33
Luxemburg 55.404
Switzerland 616.595
UAE 374.925
Turkey 838.973
Korea 1234.04
Luxemburg 55.404
Austria 393.753
Spain 1311.12
Holland 767.096
Brazil 2503.87
Georgia 17.284
Denmark 308.366
Australia 1598.07
Egypt 275.868
Finland 252.163
Russia 2109.02
Norway 520.248
Kyrgyzstan 7.006
Sweden 533.941
Iceland 13.675
Portugal 206.623
Azerbaijan 78.166
Israel 259.063
Poland 496.145
Malta 8.565
SaudiArabia 682.583
SouthAfrica 402.152