C语言-对输入的n个字符串进行排序

来源:互联网 发布:http接口测试工具 mac 编辑:程序博客网 时间:2024/04/29 01:34
#include<stdio.h>#include<string.h>#include<stdlib.h>#define N 256 //宏定义int main(){char strArray[N][256];char *str[N];char *temp;int i,n;printf("请输入字符串:\n");for(i=0;i<N;i++){gets(strArray[i]);if (strcmp(strArray[i]," ")==0)//空格串作为字符串输入结束符{break;}str[i]=strArray[i];}n=i;//冒泡排序 方法一//for(int i=0;i<n;i++)//{//for(int j=i+1;j<n;j++)//{//if(strcmp(str[i],str[j])>0)//{//temp=str[i];//str[i]=str[j];//str[j]=temp;//}//}//}////冒泡排序 方法二//for(int i=0;i<n-1;i++)//{//for(int j=0;j<n-1-i;j++)//{//if(strcmp(str[j],str[j+1])>0)//{//temp=str[j];//str[j]=str[j+1];//str[j+1]=temp;//}////}//}//选择排序方法for(int i=0;i<n;i++){char* min = str[i];int index=i;//找出最小的数for(int j=i+1;j<n;j++){if(str[j]<min){min=str[j];index=j;}}temp=str[i];str[i]=min;str[index]=temp;}printf("排序后的是:\n");for(int i=0;i<n;i++){printf("%s\n",str[i]);}printf("\n");system("pause");return 0;}

0 0