按字母顺序排序多个国家的名字

本文介绍了如何使用C语言对多个国家的名字进行字母顺序排序,并详细解释了算法的实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//按字母顺序排序多个国家的名字

 

#include <stdio.h>

#include <string.h>

void sortCountry(char*a[],unsigned longlen)

{

    for (int i = 0; i <= len - 2;i++)

    {

       for (intj = 0; j < len - 1- i ; j++)

       {

            //传首地址!!!根本无法传地址对应的字符串。如*aj】和*aj + 1,因为指向的是字符串,*aj】,只能代表第j个字符串的第一个字母!所以可以直接传首地址?

           if (strcmp(a[j], a[j + 1])> 0)

           {

               char*temp = a[j];

               a[j] = a[j + 1];

               a[j + 1]= temp;

           }

       }

    }

}

int main(intargc, const char* argv[])

{

    char* a[] = {"China11","America","korea","England","German"};

    //   unsigned long len = strlen(*a);//错了,a =&a[0],*a = a[0]

    unsigned longlen = sizeof(a) / sizeof(a[0]);

    sortCountry(a,len);

    for (int i = 0; i < len; i++)

    {

       printf("%s\n",a[i]);//%s打印,给地址即可!

    }

    return 0;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值