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;
			}
		}
	}
}
相关推荐
Once_day6 分钟前
C++之《程序员自我修养》读书总结(1)
c语言·开发语言·c++·程序员自我修养
偷吃的耗子21 分钟前
【CNN算法理解】:CNN平移不变性详解:数学原理与实例
人工智能·算法·cnn
喜欢喝果茶.25 分钟前
QOverload<参数列表>::of(&函数名)信号槽
开发语言·qt
亓才孓25 分钟前
[Class类的应用]反射的理解
开发语言·python
努力学编程呀(๑•ี_เ•ี๑)25 分钟前
【在 IntelliJ IDEA 中切换项目 JDK 版本】
java·开发语言·intellij-idea
坚果派·白晓明27 分钟前
在鸿蒙设备上快速验证由lycium工具快速交叉编译的C/C++三方库
c语言·c++·harmonyos·鸿蒙·编程语言·openharmony·三方库
island13141 小时前
CANN GE(图引擎)深度解析:计算图优化管线、内存静态规划与异构任务的 Stream 调度机制
开发语言·人工智能·深度学习·神经网络
坚持就完事了1 小时前
Java中的集合
java·开发语言
魔芋红茶1 小时前
Python 项目版本控制
开发语言·python
云小逸1 小时前
【nmap源码解析】Nmap OS识别核心模块深度解析:osscan2.cc源码剖析(1)
开发语言·网络·学习·nmap