用指向指针的指针的方法对n个整数排序并输出 要求将排序单独写成一个函数。n个整数在主函数中输入,最后在主函数中输出


用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。n个整数在主函数中输入,最后在主函数中输出。

点我看视频讲解+可运行代码,记得收藏视频,一键三连
解题思路: 指向指针的指针其实就是二级指针,使用二级指针的保存一级指针的地址,让这个一级指针指向具体的数据空间。排序就是按照每个元素指针指向空间中的数据进行比对排序即可。

答案:

#include<stdio.h>
#include<string.h>
void sort(int *s[], int len)
{
	int i, j;
	for (i = 0; i < len; i++) {
		for (j = i; j < len; j++) {
            //s[i]就是s指针数组中第i个元素保存的一级指针,再次解引用就是最终的数据空间
			if (*(s[i]) > *(s[j])) {
				int tmp = *(s[i]); //指针的好处在于直接通过赋值可以改变指向
				*(s[i]) = *(s[j]);  //只要交换了字符串的地址就实现了字符串的交换
				*(s[j]) = tmp;//因此通过指针指向的交换就能够实现数组中字符串的排序
			}
		}
	}
}
int main()
{
	int *integers;
	int count = 0;
	printf("Please enter the number of count: ");
	scanf_s("%d", &count);
	integers = (int*)malloc(count * sizeof(int));//为指针申请count个int空间用于存放输入的数据
	int **p = (int **)malloc(count * sizeof(int*));//为指针申请count个int*空间用于存放int空间的首地址
	printf("Please enter %d integers: \n", count);
	for (int i = 0; i < count; i++) {
		p[i] = integers + i; //将数组中每个int元素空间的首地址赋值给指针数组中的各个元素
		scanf_s("%d", p[i]);//p[i]就保存时第i个数据的地址,因此这里不用取地址
	}
	sort(p, count);
	for (int i = 0; i < count; i++) {
		printf("%d ", integers[i]);
	}
	printf("\n");
	free(integers);
	free(p);
	system("pause");
	return 0;
}

用指向指针的指针的方法对n个整数排序并输出 要求将排序单独写成一个函数。n个整数在主函数中输入,最后在主函数中输出


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



猜您在找 输入一个正整数n,将其转换为二进制后输出。要求定义并调用函数dectobin(n),它的功能是输出 编写一个判断素数的函数,在主函数输入一个整数时,输出是否素数的信息。 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。 n<=39 Problem Description 有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。 Input 输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义 8.15写几个函数:①输个职工的姓名和职工号;②按职工号由小到大顺序排序,姓名顺序也随之调整;③要求输入一个职工号,用折半法找出该职工的姓名,从主函数输入要查找的职工号,输出该职工 输入一个整数n,一个整数m,输出n到m所有偶数的和。 有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数,见图8.43。 写一函数实现以上功能,在主函数中输人n个整数和输出调整后的n个数 有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数,见图8.43 写一函数实现以上功能,在主函数中输人n个整数和输出调整后的n个数 题目描述 计算字符串最后一个单词的长度,单词以空格隔开。 输入描述: 一行字符串,非空,长度小于5000。 输出描述: 整数N,最后一个单词的长度。 示例1 输入 hello world 输出 5 输入3个整数,要求按由小到大的顺序输出
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM