输入若干个数,将最小的数和第一个数交换,最大的数和最后一个数交换,然后输出...

该函数接收一组数字,将最小值与首个元素交换,最大值与末尾元素交换,并输出结果。通过两次遍历找到最小和最大值及其位置,再进行交换操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/******************************************************************************************* ** 函 数名 称: NumberSortAndChange() ** 作 者: zyh ** 版 本: 1.0.0 ** 日 期: 2011-6-20 ** 功 能 描 述: 输入若干个数,将最小的数和第一个数交换,最大的数和最后一个数交换,然后输出 ** 被本函数调用的函数清单: ** 调用本函数的函数清单: ** 被访问的表: ** 被修改的表 : ** 输 入: int array_in[] --- 输入N个数,放在数组中 int total --- 数组元素个数 ** 输 出: int array_out[] --- 处理结果 ** 返 回 值: 无 ** 其 他: ** 修 改 历史: 1. 修改时间: 修 改 者: 版 本: 修改简述: 2. ...... *********************************************************************************************/ void NumberSortAndChange(int array_in[],int array_out[],int total) { int liv_i; /* 找小数,控制变量 */ int liv_j; /* 找大数,控制变量 */ int min_element; /* 最小的数 */ int max_element; /* 最大的数 */ int subscript_min; /* 最小数的下标 */ int subscript_max; /* 最大数的下标 */ for (liv_i = 0; liv_i < total; liv_i++) { min_element = array_in[0]; if (array_in[liv_i] < min_element) { min_element = array_in[liv_i]; subscript_min = liv_i; } } for (liv_j = 0; liv_j < total; liv_j++) { max_element = array_in[0]; if (array_in[liv_j] > max_element) { max_element = array_in[liv_j]; subscript_max = liv_j; } } array_in[0] = array_in[0] ^ min_element; /* 最小的数和第一个数交换 */ min_element = array_in[0] ^ min_element; array_in[0] = array_in[0] ^ min_element; array_in[total - 1] = array_in[total - 1] ^ max_element; /* 最大的数和最后一个数交换 */ max_element = array_in[total - 1] ^ max_element; array_in[total - 1] = array_in[total - 1] ^ max_element; for (liv_i = 0; liv_i < total; liv_i++) { array_out[liv_i] = array_in[liv_i]; } }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值