关于全国的GDP排名用C语言写一个冒泡排序
时间: 2024-12-22 09:26:26 浏览: 8
在C语言中,你可以使用冒泡排序算法对包含国家GDP数据的数组进行排序。这里是一个简单的示例,假设我们有一个结构体`Country`,它包含了国家名和GDP值:
```c
#include <stdio.h>
#include <string.h>
typedef struct {
char name[50];
float gdp;
} Country;
void bubbleSort(Country countries[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
if (countries[j].gdp > countries[j + 1].gdp) {
// 交换GDP较小的国家到前面
Country temp = countries[j];
countries[j] = countries[j + 1];
countries[j + 1] = temp;
}
}
}
}
// 示例函数,用于打印GDP排名
void printTopThree(Country countries[], int n) {
if (n >= 3) {
printf("前三位GDP最高的国家依次是:\n");
for (int i = 0; i < 3; i++) {
printf("%d. %s (%f)\n", i + 1, countries[i].name, countries[i].gdp);
}
} else {
printf("列表太短,无法显示前三位。\n");
}
}
int main() {
Country data[] = {{"中国", 14.14}, {"美国", 21.44}, {"日本", 5.15}, {"德国", 4.17}, {"印度", 3.27}};
int numCountries = sizeof(data) / sizeof(data[0]);
bubbleSort(data, numCountries);
printTopThree(data, numCountries);
return 0;
}
```
在这个例子中,`bubbleSort`函数会对GDP数组按升序进行排序,然后`printTopThree`函数会打印出GDP最高的前三名。注意这只是一个简化版本,实际应用中你可能需要从文件或数据库读取真实的数据。
阅读全文