给定n个字符串,请对n个字符串按照字典序排序。数据范围:1≤n≤1000,字符串长度满足1≤len≤100
输入描述:输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。
输出描述:数据输出n行,输出结果为按照字典序排列的字符串。
输入:9 cap to cat card two too up boat boot
输出:boat boot cap card cat to too two up
#include <stdio.h>
#include <string.h>
//字典顺序排列(AaBb - Zz,0-9顺序)
//strcmp ASCII顺序比较 将s1第一个字符值减去s2第一个字符值,若差值为0 则再继续比较下个字符;若差值不为0 则将差值返回
int main()
{int n;scanf("%d", &n);char str[n][101];for (int i = 0; i < n; i++)scanf("%s", str[i]);char tmp[101];int flag;for (int j = n - 1; j >= 1; j--){flag = 0;for (int i = 1; i <=j; i++){if (strcmp(str[i - 1], str[i]) > 0){strcpy(tmp, str[i - 1]);strcpy(str[i - 1], str[i]);strcpy(str[i], tmp);flag = 1;}}if (flag == 0)break;}for (int i = 0; i < n; i++)printf("%s\n", str[i]);return 0;
}