有N个国家名,要求按字母先后顺序排列(用起泡排序法后输出)。

来源:互联网 发布:网络电视机介绍 编辑:程序博客网 时间:2024/04/29 02:09
#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 5void 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");}






0 0
原创粉丝点击