描述
给定 n 个字符串,请对 n 个字符串按照字典序排列。
数据范围: 1≤n≤1000 ,字符串长度满足1≤len≤100
输入描述:
输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。
输出描述:
数据输出n行,输出结果为按照字典序排列的字符串。
示例1
输入:
9 cap to cat card two too up boat boot
输出:
boat boot cap card cat to too two up
一开始感觉很复杂,看到大家解题用到strcmp,豁然开朗,再使用冒泡法即可解出。
#include <stdio.h>
#include<string.h>
int main() {
int n;
scanf("%d",&n);
int i=0,j=0;
char temp[101];
char str[n][101];
for(i=0;i<n;i++)
{
scanf("%s",str[i]);
}
for(j=0;j<n-1;j++)
{
for(i=0;i<n-1-j;i++)
{
if(strcmp(str[i],str[i+1])>0)
{
strcpy(temp, str[i+1]);
strcpy(str[i+1],str[i]);
strcpy(str[i],temp);
}
}
}
for(i=0;i<n;i++)
{
printf("%s\n",str[i]);
}
}