• 嵌入式交流群:705573984 资源分享群:708912078

C语言:字符串大小/长度排序

嵌入式 admin 4年前 (2019-03-16) 2263次浏览 0个评论
#include <stdio.h>
#include <string.h>
#define N 5
void output(char *pstr[],int n);
void output(char *pstr[],int n)
{
 int i=0;
 for(i=0;i<n;i++)
 {
  printf("%s ",pstr[i]);
  }
  printf("\n");
}

void str_sort(char *pstr[],int n);
void str_sort(char *pstr[],int n)
{
   int i=0,j=0,a=0;
   char *pstr1=NULL;
   for(i=0;i<n;i++)
   {
     for(j=i+1;j<n;j++) { a=strcmp(pstr[i],pstr[j]);//字符串比较函数strcmp()
      if(a>0)
      {
        pstr1=pstr[i];
        pstr[i]=pstr[j];
        pstr[j]=pstr1;
      }
     }
   }
}

void str1_sort(char *pstr[],int n);
void str1_sort(char *pstr[],int n)
{
   int i=0,j=0,a=0;
   char *pstr1=NULL;
   for(i=0;i<n;i++)
   {
     for(j=i+1;j<n;j++) { a=strlen(pstr[i])-strlen(pstr[j]);//用库函数strlen(),读取字符串长度 
      if(a>0)
      {
        pstr1=pstr[i];
        pstr[i]=pstr[j];
        pstr[j]=pstr1;
      }
     }
   }
}

int main(void)
{
 char *pc="beijing";
 char *pstr[N]={"beijing","xian","shanghai","nanjing","guangzhou"};
 char str[N][20]={"beijing","xian","shanghai","nanjing","guangzhou"};
 output(pstr,N);
 str_sort(pstr,N);//字符串大小排序
 output(pstr,N);
 str1_sort(pstr,N);//字符串长度排序
 output(pstr,N);
return 0;
}

输出分别为原顺序、按大小排序、按长度排序


转载请注明原文链接:C语言:字符串大小/长度排序
喜欢 (0)

您必须 登录 才能发表评论!