C语言:在主函数中输入十个等长的字符串。用另一函数对它们排序,然后在主函数输出这10个已排好序的字符串。
- 创业
- 2025-08-30 10:12:02

(1)用字符型二维数组
#include <stdio.h> #include <string.h> int main() {void sort(char s[][6]); int i; char str[10][6]; printf("input 10 strings:\n"); for (i=0;i<10;i++) scanf("%s",str[i]); sort(str); printf("Now,the sequence is:\n"); for (i=0;i<10;i++) printf("%s\n",str[i]); return 0; } void sort(char s[10][6]) {int i,j; char *p,temp[10]; p=temp; for (i=0;i<9;i++) for (j=0;j<9-i;j++) if (strcmp(s[j],s[j+1])>0) {strcpy(p,s[j]); strcpy(s[j],s[+j+1]); strcpy(s[j+1],p); } }(2)用指向一维数组的指针作函数参数
#include <stdio.h> #include <string.h> int main() {void sort(char (*p)[6]); int i; char str[10][6]; char (*p)[6]; printf("input 10 strings:\n"); for (i=0;i<10;i++) scanf("%s",str[i]); p=str; sort(p); printf("Now,the sequence is:\n"); for (i=0;i<10;i++) printf("%s\n",str[i]); return 0; } void sort(char (*s)[6]) {int i,j; char temp[6],*t=temp; for (i=0;i<9;i++) for (j=0;j<9-i;j++) if (strcmp(s[j],s[j+1])>0) {strcpy(t,s[j]); strcpy(s[j],s[+j+1]); strcpy(s[j+1],t); } }运行结果:
C语言:在主函数中输入十个等长的字符串。用另一函数对它们排序,然后在主函数输出这10个已排好序的字符串。由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“C语言:在主函数中输入十个等长的字符串。用另一函数对它们排序,然后在主函数输出这10个已排好序的字符串。”