问题描述
输入n个字符串,将这n个字符串从小到大排序后输出。
输入
第一行是一个整数n,表示有n个字符串,接下来n行,每行一个字符串。1<=n<=100。字符串的长度不超过20。 要求写一个函数对n个字符串进行排序,使用指针。
输出
输出有n行,每行一个字符串。
输入样列
6
hangzhou
shanghai
wenzhou
ningbo
tianjing
beijing
输出样例
beijing
hangzhou
ningbo
shanghai
tianjing
wenzhou
#include<stdio.h>
int main()
{
int n;
int i,j,t;
scanf("%d",&n);
getchar();
char str[n];
for(i=0;i<n;i++){
gets(str);
}
for(i=0;i<n-1;i++){
for(j=i+1;j<n;j++){
if(str[i]>str[j])
{
t = str[j];
str[j] = str[i];
str[i] = t;
}
}
}
for(i=0;str[i]!='\0';i++){
printf("%c",str[i]);
}
return 0;
}
我这样写就变成了字符串内部也会被排序了TT,然后其他几个字符串也没参与进排序
我的结果:
输入
hangzhou
shanghai
wenzhou
ningbo
tianjing
beijing
输出
beiijng