字符串数组入门之字符串排序问题

每日一句 :所谓活着的人,就是不断挑战的人,不断攀登命运险峰的人。
今天的打卡题目是比较基础的字符串排序问题。

字符串数组

一般情况下,输入多个字符串,要定义一个二维数组
话不多说,先看题。

 本题要求编写程序,读入5个字符串,按由小到大的顺序输出。
输入格式:
输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于
 80。
输出格式:
按照以下格式输出排序后的结果:
After sorted:
每行一个字符串
输入样例:
red yellow blue black white
输出样例:
After sorted:
black
blue
red
white
yellow
z=w+x

这道题所要求的数组大小基本给出,因此不需要额外的在定义变量。
代码详解如下,


```c
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main ()
{
       int i,j;
       char str[5][80],temp[80];//temp数组作为交换数组,其目的是作为一个中介。
       for(i=0;i<5;i++)
        scanf("%s",&str[i]);//字符串输入方式之一,也可以用gets()
       for(i=0;i<5-1;i++)
       {
           for(j=i+1;j<5;j++)
           {
               if(strcmp(str[i],str[j])>0)//比较字符串大小
               {
                   strcpy(temp,str[i]);//交换数组
                   strcpy(str[i],str[j]);
                   strcpy(str[j],temp);
               }
           }
       }
       printf("After sorted:\n");
       for(i=0;i<5;i++)
           printf("%s\n",str[i]);
       return 0;
}

`
这是一道非常简单的二维数组字符串入门题目,以后还会多多更新C语音相关的算法题目。

在这里插入图片描述

这是25届小白,我们一起加油!!!!

  • 24
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 22
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狗蛋今天也要努力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值