#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<Windows.h>
#include<stdio.h>
#define N 5
void jiaohuanguojiaming(int j,char p[N][11])
{
char t;
for (int k = 0; k < 11; k++)//国家名交换
{
if (p[j][k] == '\0'&&p[j - 1][k] == '\0')
{
break;
}
t = p[j][k];
p[j][k] = p[j - 1][k];
p[j - 1][k] = t;
}
}
int bijiao(int j, char p[N][11],int m)
{
if (p[j][m] < p[j - 1][m])
{
jiaohuanguojiaming(j, p);
}
else if (p[j][m] == p[j - 1][m])//此次比较字母相同,比较下一个字母。
bijiao(j, p, m - 1);
else if (p[j][m] == '\0'&&p[j - 1][m] == '\0')
return;
}
void main()
{
char a[N][11] = { { "China" }, { "Japan" }, { "America" }, { "Australia" }, { "Brazil" } };
int k = 0,m=0;
for (int i = 0; i < N; i++)//起泡法排序
for (int j = N - 1; j>i;j--)//遍历国家名首字母
{
bijiao(j, a, m);
}
for (int i = 0; i < N; i++)//打印结果
{
printf("%-15s", a[i]);
}
system("pause");
}
有N个国家名,要求按字母先后顺序排列(用起泡排序法后输出)。
最新推荐文章于 2024-02-17 22:03:29 发布