[C语言]使用指针将输入的多个字符串按长度升序排序

[C语言]使用指针将输入的多个字符串按长度升序排序,第1张

[C语言]使用指针将输入的多个字符串按长度升序排序
  • 1、题目
  • 2、完整代码
  • 3、截图

1、题目

编写一个函数,利用指针将输入的多个字符串按长度升序排序

要求:子函数 void StrSort(char *p[N],int n)

示例:

输入:
HU
KOBE
BRYANT
CCZU
输出:
HU
KOBE
CCZU
BRYANT

2、完整代码
#include
#include
#include
#include
#define N 4
void StrSort(char* p[N], int n) {
	int i, j;
	char* ch;
	//冒泡排序法
	for (i = 0; i < N; i++)
	{
		for (j = 0; j < N - i - 1; j++)
		{
			//如果后面的比前面的长就交换指针
			if (strlen(p[j]) > strlen(p[j + 1]))
			{
				ch = p[j];
				p[j] = p[j + 1];
				p[j + 1] = ch;
			}
		}
	}
}
int main() {
	char* str[N];
	int i;
	char* ch;
	for (i = 0; i < N; i++) {
		str[i] = (char*)malloc(sizeof(char) * 10);
		gets(str[i]);
	}
	StrSort(str, 4);
	for (i = 0; i < N; i++)
		printf("%s\n", str[i]);
	return 0;
}
3、截图

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/872582.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存