输入字符串,并将其存入二维数组中,每行存储一个字符串,然后对这些字符串按照字典顺序升序排序

2025-03-31 23:31:28
推荐回答(2个)
回答1:

#include
#include
void sort(char strArr[][30],int n)
{
char temp[30];
int i,j;
for(i=0;i for(j=i+1;j if(strcmp(strArr[i],strArr[j])>0)
{
strcpy(temp,strArr[i]);
strcpy(strArr[i],strArr[j]);
strcpy(strArr[j],temp);
}
}
int main(void)
{
int i;
char str[5][30];
for(i=0;i<5;i++)
{
gets(str[i]);
}
sort(str,5);
printf("排序后的字符串:\n");
for(i=0;i<5;i++)
puts(str[i]);
return 0;
}

回答2:

#include
#include
int cmp(const void* a,const void* b)
{
return strcmp((char**)a,(char**)b);
}
int main(void)
{
char s[10][10];
int i,n;
scanf("%d",&n);
for(i=0;i scanf("%s",s[i]);
}
qsort(s,n,sizeof(s[0]),cmp);
for(i=0;i puts(s[i]);
}
return 0;
}