34.对字符指针数组按由长到短排序

给定 程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果,ss所指字符串数组共有N个字符串,且长小于M。


#include<stdio.h>
#include<string.h>
#define N 5
#define M 8
void fun(char(*ss)[M])
{
	char *ps[N], *tp;
	int i, j, k;
	for (i = 0;i < N;i++)
		ps[i] = ss[i];
	for (i = 0;i < N - 1;i++)
	{
		k = i;
		for (j = i + 1;j < N;j++)
			if (strlen(ps[k]) < strlen(ps[j]))
			k = j;
		tp = ps[i];
		ps[i] = ps[k];
		ps[k] = tp;
	}
	printf("The string after sorting by length:\n\n");
	for (i = 0;i < N;i++)
		puts(ps[i]);

}

int main()
{
	char ch[N][M] = { "red","green","blue","yellow","black" };
	int i;
	printf("\nThe original string:\n\n");
	for (i = 0;i < N;i++)
		puts(ch[i]);
	printf("\n");
	fun(ch);
	getchar();
	return 0;
}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值