输入五个整数,其中最小的数与第一个数对换,最大的数与最后一个数对换,用C++写 ,用指针和函数
时间: 2024-05-27 14:10:55 浏览: 59
#include <stdio.h>
void swap(int *a, int *b){
int tmp = *a;
*a = *b;
*b = tmp;
}
int main(){
int arr[5];
printf("请输入五个整数:\n");
for(int i = 0; i < 5; i++){
scanf("%d", &arr[i]);
}
int *min = &arr[0];
int *max = &arr[0];
for(int i = 1; i < 5; i++){
if(arr[i] < *min){
min = &arr[i];
}
if(arr[i] > *max){
max = &arr[i];
}
}
swap(min, &arr[0]);
swap(max, &arr[4]);
printf("处理后的数组为:\n");
for(int i = 0; i < 5; i++){
printf("%d ", arr[i]);
}
return 0;
}
相关问题
输入五个整数,其中最小的数与第一个数对换,最大的数与最后一个数对换,用C++写
#include <stdio.h>
int main() {
int a[5];
int minIndex = 0;
int maxIndex = 0;
// 输入五个整数
printf("请输入五个整数:\n");
for (int i = 0; i < 5; i++) {
scanf("%d", &a[i]);
}
// 找到最小数和最大数的下标
for (int i = 1; i < 5; i++) {
if (a[i] < a[minIndex]) {
minIndex = i;
}
if (a[i] > a[maxIndex]) {
maxIndex = i;
}
}
// 最小数与第一个数对换
int temp = a[0];
a[0] = a[minIndex];
a[minIndex] = temp;
// 最大数与最后一个数对换
temp = a[4];
a[4] = a[maxIndex];
a[maxIndex] = temp;
// 输出结果
printf("交换后的数组:\n");
for (int i = 0; i < 5; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
c++输入10个整数,将其中最小的数与第一个数对换
可以使用以下代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int a[10];
for (int i = 0; i < 10; i++) {
cin >> a[i];
}
int minIndex = 0;
for (int i = 1; i < 10; i++) {
if (a[i] < a[minIndex]) {
minIndex = i;
}
}
int temp = a[0];
a[0] = a[minIndex];
a[minIndex] = temp;
for (int i = 0; i < 10; i++) {
cout << a[i] << " ";
}
return 0;
}
```
首先,使用一个数组 `a` 存储输入的 10 个整数。然后,遍历数组找到最小值的下标 `minIndex`,并将第一个数与最小值对换。最后,输出对换后的数组。
阅读全文