c语言用strcmp函数给多个字符串进行排序

首先我们要知道在C语言中strcmp函数的具体用法, strcmp函数是string compare(字符串比较)的缩写,用于比较两个字符串并根据比较结果返回整数。基本形式为strcmp(str1,str2),若str1=str2,则返回零;若str1<str2,则返回负数;若str1>str2,则返回正数。

把所有的字符串保存在一个char*类型的数组中,传到冒泡排序算法中去,其实就算是做完了,

#include <stdio.h>
#include <string.h>
int zf(char **a)
{
    for(int q=0;q<9;q++)
    {
        for(int p=0;p<9-q;p++)
        {
            if(strcmp(a[p],a[p+1])>0)
            {
                char *temp=a[p];
                a[p]=a[p+1];
                a[p+1]=a[p];
                
            }
        }

    }
    return 0;
}
int main(int argc, char *argv[])
{ 
    char*arr[10]={"asd","azx","awe","adf","afr","afg","ahj","aty","ahj","afh"};
        printf("排序前的字符:");
    for(int i=0;i<10;i++)
        printf("%s  ",arr[i]);
    puts(" ");
    zf(arr);
    
    printf("排序后的字符:");
    for(int i=0;i<10;i++)
        printf("%s  ",arr[i]);
    puts(" ");
    return 0;
} 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值