C语言字符串排序——二维字符数组应用

记录一道基础题,因为本人水平过低,若有大佬访问,请见谅。。

这道题如果用C++实现的话,可以非常简单,就是用string数组,然后sort算法排个序就可以了。但是用C语言的话就相对麻烦一点,不过还是一道水题

用C语言的话,就主要考察二元字符数组那块的知识,因为只有这样才能在数组中存储多个字符串,因为字符串在C语言中就是以字符数组的形式存在的,而在C++中则多了一个string容器,就会省事很多,但是没有办法,因为我的学习顺序和别人不一样,我是先学的C++再补C语言,因此就会有很多地方不习惯,所幸本人本学期课不算很多,还能抽时间来弥补。。

Problem A: 输入3个字符串,按由小到大顺序输出

Time Limit: 1 Sec Memory Limit: 64 MB
Submit: 14572 Solved: 8229

Description

输入3个字符串(长度都小于80),按由小到大顺序输出。

Input

多组测试数据,每组输入三个字符串。

Output

按从小到大输出三个字符串。

Sample Input

oh
my
god
China
Beijing
Hangzhou

Sample Output

god
my
oh
Beijing
China
Hangzhou

代码如下

#include<stdio.h>
int main()
{
	char a[4][81];	//字符串数组 
	while(scanf("%s",a[1])!=EOF)
	{
		scanf("%s",a[2]);
		scanf("%s",a[3]);
		int i;
		for(i=1;i<=2;i++)	//选择排序 
		{
			int min=i;
			int j=i+1;
			for(j;j<=3;j++)
			{
				if(strcmp(a[min],a[j])>0)
				{
					min=j;
				}	
			}	
			char d[81];
			strcpy(d,a[min]);
			strcpy(a[min],a[i]);
			strcpy(a[i],d);
		}
		for(i=1;i<=3;i++)
		{
			printf("%s\n",a[i]);
		}
	}
}

挺简单的一道基础题。。

如果觉得有帮助,可以关注一下我的公众号,我的公众号主要是将这些文章进行美化加工,以更加精美的方式展现出来,同时记录我大学四年的生活,谢谢你们!
在这里插入图片描述

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值