#include <stdio.h>
#include <string.h>
#define N 10
#define SIZE 100
int main()
{
char array[N][SIZE];//字符数组,因为有多行字符
for (int i = 0; i < N; ++i)//先进行一遍输入
{
gets_s(array[i],100);//单独的gets函数极易出现缓冲区溢出
}
int i = 0, j = 0, index = 0;
char str[SIZE];//来一个,中间字符组
for (int i = 0; i < N; ++i)//控制外循环,来插眼的,不断将每轮的起点往后移动,实现升序排列
{
for (int j = 0; i < N - i; ++j)//
if (strcmp(array[i], array[j]) < 0)//当字符i小于字符j时。标记j。
index = j;
strcpy(str, array[N - 1 - j]);
strcpy(array[N - 1 - j], array[index]);
strcpy(array[index], str);//将最小的字符数组和此轮起点进行交换
}
for (int i = 0; i < N; ++i)
puts(array[i]);
return 0;
}
选择排序实现字符数组排序
最新推荐文章于 2022-07-18 17:01:39 发布