C语言-使用指针数组作为函数参数,实现对10个字符串进行排序

使用指针数组作为函数参数,实现对10个字符串进行排序

1.输入

c 复制代码
lisi
hahaha
hehehe
helloa
leihoua
lisi
nihaoa
wangwu
ajax
bureau

2.输出

c 复制代码
ajax
bureau
hahaha
hehehe
helloa
leihoua
lisi
lisi
nihaoa
wangwu

3.程序:

c 复制代码
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include<string.h>
#include<math.h>
int main()
{
	int i;
	char str[10][32];
	char *pstr[10];
	for (i = 0; i < 10; i++)
	{
		//pstr[i] = str[i];
		*(pstr + i) = *(str + i);
		//scanf("%s", pstr[i]);
		scanf("%s", *(pstr+i));//捕捉字符串到第i个子数组中
	}
	void str_sort(char **str,int n);
	str_sort(pstr,10);
	printf("----------------\n");
	for (i = 0; i < 10; i++)
	{
		printf("%s\n", *(str + i));
	}
	printf("----------------\n");
	for (i = 0; i < 10; i++)
	{
		//printf("%s\n", pstr[i]);
		printf("%s\n", *(pstr + i));
	}
}
void str_sort(char **str,int n)
{
	int i, j;
	for (i = 0; i < n - 1; i++)
	{
		for (j = 0; j < n -1 - i; j++)
		{
			//if (strcmp(str[j], str[j+1]) > 0)
			if(strcmp(*(str+j),*(str+j+1))>0)
			{
				//char temp[32];
				/*strcpy(temp, str[j]);
				strcpy(str[j], str[j + 1]);
				strcpy(str[j + 1], temp);*/
				char* temp = *(str + j);
				*(str + j) = *(str + j + 1);
				*(str + j + 1) = temp;
			}
		}
	}
}
相关推荐
Fleshy数模1 小时前
多分类任务下的经典机器学习算法实战:LR、RF、SVM等对比分析
算法·机器学习·分类
风吹乱了我的头发~4 小时前
Day52:2026年3月20日打卡
算法
小王不爱笑1328 小时前
IO 模型
开发语言·python
知我Deja_Vu8 小时前
【避坑指南】ConcurrentHashMap 并发计数优化实战
java·开发语言·python
AI+程序员在路上8 小时前
CANopen 协议:介绍、调试命令与应用
linux·c语言·开发语言·网络
2401_831824968 小时前
基于C++的区块链实现
开发语言·c++·算法
We་ct9 小时前
LeetCode 918. 环形子数组的最大和:两种解法详解
前端·数据结构·算法·leetcode·typescript·动态规划·取反
愣头不青9 小时前
238.除了自身以外数组的乘积
数据结构·算法
爱编码的小八嘎9 小时前
C语言完美演绎4-4
c语言
人工智能AI酱9 小时前
【AI深究】逻辑回归(Logistic Regression)全网最详细全流程详解与案例(附大量Python代码演示)| 数学原理、案例流程、代码演示及结果解读 | 决策边界、正则化、优缺点及工程建议
人工智能·python·算法·机器学习·ai·逻辑回归·正则化