早教吧作业答案频道 -->其他-->
C语言实验题绝对值排序描述输入n(n<=100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例,所有的数的绝对值都不相等。输入输入数据有多组,每组占一行,每
题目详情
C语言实验题 绝对值排序描述 输入n(n<=100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例,所有的数的绝对值都不相等。 输入 输入数据有多组,每组占一行,每行的第一个数字为n,接着是n个整数,n=0表示输入数据的结束,不做处理。 输出 对于每个测试实例,输出排序后的结果,两个数之间用一个空格隔开。每个测试实例占一行。 样例输入 3 3 -4 2 4 0 1 2 -3 0样例输出 -4 3 2 -3 2 1 0 (这个问题其他我都懂,就是对于输入的一系列数,怎么对其进行绝对值排序,然后还要按原值进行排序输出。也就是最核心的问题我不懂。请高手指教。)
▼优质解答
答案和解析
任何排序算法都涉及到被排序元素间的“比较”操作,排序算法根据元素比较的结果执行相应的元素移动操作,因此,“比较”过程与“移动”过程是相互独立的,也就是说如何比较是可任意定义的,你的这个问题可以使用任意一种排序算法进行排序,唯一要求的是你必须额外提供一个比较函数,该比较函数中执行的是绝对值比较而不是真值比较,C语言的库函数 void qsort(void *base, size_t num, size_t width, int(__cdecl*compare)(const void *elem1, const void *elem2));就可以完成你的任务,其中的参数compare就是一个执行比较操作的函数指针。
看了C语言实验题绝对值排序描述输入...的网友还看了以下:
将2,3,4,5…n(n为大于4的整数)分成两组,使得每组中任意两数之和都不是完全平方数.那么,整 2020-06-03 …
将2,3,4,5…n(n为大于4的整数)分成两组,使得每组中任意两数之和都不是完全平方数.那么,整 2020-06-03 …
设A是由m×n个实数组成的m行n列的数表,满足:每个数的绝对值不大于1,且所有数的和为零,记s(m 2020-06-12 …
设an(n是下脚标)为下述正整数N的个数:N的各位数字之和为n且每位数字都只能取134求证:对每个 2020-06-16 …
给出n个整数,其中n是奇数,且n小于100000接下来n行,每行一个整数,这n个整数中,只有1个数 2020-07-16 …
给出n个整数,其中n是奇数,且n小于100接下来n行,每行一个整数,这n个整数中,只有1个数是单独 2020-07-16 …
简单的C编程Description:针对每个非负整数n,计算其n!的位数.Input:输入数据中含 2020-07-31 …
在下面一列数中,从第二个数开始,每个数都比它前面相邻的数大7,8,15,22,29,36,43,… 2020-07-31 …
矩阵选数在一个n*n的矩阵中,有n*n个大于0的整数.现在要求在其中找出n个数,使每任意两个数不在同 2020-11-18 …
4、在下面一列数中,从第二个数开始,每个数都比它前面相邻的数大7:8、15、22、29、36、43, 2020-11-20 …