赞
踩
在主函数中输入10个等长的字符串。用另一函数对它们排序。然后在主函数输出这10个已排好序的字符串。要求采用指向一维数组的指针作函数参数,该排序函数的声明如下:void sort(char (*s)[20]);
思路:
1.输入字符串
2.使用冒泡法进行排序
3.输出
#include <stdio.h> #include <string.h> #define num 10 char zfc[20][20]; void sort(char *s[20]); // 指针数组 int main() { char *str[20]; int i; for(i=0; i<num; i++) str[i] = zfc[i]; for(i=0; i<num; i++) scanf("%s", str[i]); sort(str); return 0; } void sort(char *s[20]) { int i,j; char *temp; for(i=0; i<num-1; i++) for(j=0; j<num-1-i; j++) { if(strcmp(*(s+j), *(s+j+1)) > 0) { temp = *(s+j); *(s+j) = *(s+j+1); *(s+j+1) = temp; } } for(i=0;i<num;i++) printf("%s\n",s[i]); }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。