题目描述
输入一维数组的6个元素,将最大值与最后一个交换
输入格式: “%d”
输出格式: “%d\n”
输入样例: 3 5 6 8 1 2
输出样例:
3
5
6
2
1
8
解决思路
定义一个长度为6的整型数组arr
。然后使用循环输入6个元素的值。
接下来,我们使用循环遍历数组,找到最大值的索引maxIndex
。初始时将第一个元素的索引作为最大值的索引,然后逐个比较后续元素的值,如果有更大的值,则更新最大值的索引。
然后,我们通过一个临时变量temp
,将最大值与最后一个元素进行交换。将最大值的值保存到temp
中,然后将最后一个元素的值赋给最大值所在位置,最后将temp
的值赋给最后一个元素。
最后,我们使用循环输出交换后的数组元素。
源代码
下面是一个C语言的程序示例,可以根据输入的一维数组,找到最大值并与最后一个元素交换位置:
#include <stdio.h>
int main() {
int arr[6];
// 输入一维数组的6个元素
for (int i = 0; i < 6; i++) {
scanf("%d", &arr[i]);
}
// 找到最大值的索引
int maxIndex = 0;
for (int i = 1; i < 6; i++) {
if (arr[i] > arr[maxIndex]) {
maxIndex = i;
}
}
// 将最大值与最后一个元素交换位置
int temp = arr[maxIndex];
arr[maxIndex] = arr[5];
arr[5] = temp;
// 输出结果
for (int i = 0; i < 6; i++) {
printf("%d\n", arr[i]);
}
return 0;
}
运行截图
© 版权声明
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!
THE END