C语言-对输入的n个字符串进行排序
#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; }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。