#include#include #define N 10 #define M 20 void strsort(char *p[N]) { ///程序填空,请将该函数填写完整 } int main( ) { char str[N][M], *p[10]; int i; for(i = 0; i < N; i++) { gets(str[i]); p[i] = str[i]; } strsort(p); for(i = 0; i < N; i++) puts(p[i]); return 0; } 注意:请务必提交完整的程序代码,不要修改代码框架。
输入
输入包含十行,每行为一个国名,长度均不超过20。
输出
按字典顺序输出排好序的字符串,每行为一个字符串。
输入示例
Slovak
China
Japan
England
Sweden
Lithuania
Monaco
Croatia
Malta
Luxembourg
输出示例
China
Croatia
England
Japan
Lithuania
Luxembourg
Malta
Monaco
Slovak
Sweden
数据范围
输入输出均为字符串,并且输入字符串长度不超过20
#include#include #define N 10 #define M 20 void strsort(char *p[N]){ int i,j; char temp[1][20]; for(j=0;j 0){ strcpy(temp[0],*(p+i)); strcpy(*(p+i),*(p+i+1)); strcpy(*(p+i+1),temp[0]); } } } } int main( ) { char str[N][M], *p[10]; int i; for(i = 0; i < N; i++) { gets(str[i]); p[i] = str[i]; } strsort(p); for(i = 0; i < N; i++) puts(p[i]); return 0; }


![[C语言]指针数组之字符串排序:在主函数中输入10个不等长字符串。编写另一个函数对它们按字典顺序从小到大排序。然后在主函数中输出这10个排好序的字符串。请使用指针数组实现。 [C语言]指针数组之字符串排序:在主函数中输入10个不等长字符串。编写另一个函数对它们按字典顺序从小到大排序。然后在主函数中输出这10个排好序的字符串。请使用指针数组实现。](http://www.mshxw.com/aiimages/31/925526.png)
