设计一个函数,对n个字符串由大到小的顺序
排列,n由程序读入,字符串的输出和输入都
在main函数中进行。
4条回答 默认 最新
- 语言-逆行者 2022-12-13 14:27关注
代码加流程图,简单啊
是否还需要,代码和流程图都可以搞定
call我/**字符串排序*/ #include<stdio.h> #include<string.h> void Sort_String(char arr[][50], int size) { char tmp[50]; if(arr == NULL || size < 2)//字符串个数小于2的直接返回,不用排序 {return;} for(int i = 0; i < size - 1; i++) { for(int j = 0; j < size - i - 1; j++) { if(strcmp(arr[j], arr[j + 1]) < 0)//如果后一个字符串大于前面的一个,就进行交换操作 { //利用冒泡的排序算法对字符串进行排序 strcpy(tmp,arr[j]); strcpy(arr[j],arr[j + 1]); strcpy(arr[j + 1],tmp); } } } } int main(){ int n,i; char arr[100][50]; printf("打算输入多少个字符串:"); scanf("%d",&n); getchar();//吃掉回车符 printf("请输入数据:\n"); for(i=0;i<n;i++){ gets(arr[i]); } Sort_String(arr,n); printf("排序后:\n"); for(i=0;i<n;i++){ puts(arr[i]); } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报 编辑记录无用 1