交换最大值和最小值,C语言
时间: 2023-04-03 16:00:26 浏览: 256
可以通过以下代码实现:
#include <stdio.h>
int main() {
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int max = arr[], min = arr[];
int max_index = , min_index = ;
// 找到最大值和最小值的下标
for (int i = 1; i < 10; i++) {
if (arr[i] > max) {
max = arr[i];
max_index = i;
}
if (arr[i] < min) {
min = arr[i];
min_index = i;
}
}
// 交换最大值和最小值
int temp = arr[max_index];
arr[max_index] = arr[min_index];
arr[min_index] = temp;
// 输出交换后的数组
for (int i = ; i < 10; i++) {
printf("%d ", arr[i]);
}
return ;
}
相关问题
交换最大值最小值c语言
在C语言中,交换两个变量的最大值和最小值可以采用多种方法,这里提供一种常见的解决方案,即创建临时变量存储其中一个数,然后用另一个数更新这个临时变量,最后将临时变量的值赋给原来的最大值或最小值。假设我们有两个整数`a`和`b`,以下是一个简单的示例:
```c
#include <stdio.h>
void swapMaxMin(int *a, int *b) {
if(*a > *b) { // 如果a较大
int temp = *a; // 用临时变量暂存a的值
*a = *b; // a赋值为b
*b = temp; // b赋值为原temp
} else if(*a < *b) { // 否则如果b较大
int temp = *a;
*a = *b;
*b = temp;
}
}
int main() {
int num1 = 5, num2 = 10;
printf("Before swapping: max = %d, min = %d\n", num1, num2);
swapMaxMin(&num1, &num2); // 传递变量地址
printf("After swapping: max = %d, min = %d\n", num1, num2);
return 0;
}
```
在这个例子中,`swapMaxMin`函数接受两个整型指针作为参数,并通过引用改变它们指向的实际值。运行程序后,你会看到最大的数和最小的数已经相互交换了。
pta交换最大值最小值c语言
在C语言中,PTA(Problem Transformation Algorithm)通常用于算法竞赛中,涉及到数组操作的问题。如果你想找到数组中的最大值和最小值,可以使用两个变量分别跟踪当前找到的最大值(max)和最小值(min),然后遍历整个数组。以下是简单的步骤:
1. 初始化max和min为数组的第一个元素。
```c
int array[] = {5, 2, 9, 1, 7};
int max = array[0];
int min = array[0];
```
2. 遍历数组,如果遇到比当前最大值更大的数,更新max;如果遇到比当前最小值更小的数,更新min。
```c
for (int i = 1; i < sizeof(array) / sizeof(array[0]); i++) {
if (array[i] > max) {
max = array[i];
}
else if (array[i] < min) {
min = array[i];
}
}
```
3. 遍历结束后,max和min就包含了数组中的最大值和最小值。
完整的函数示例:
```c
#include <stdio.h>
void findMinMax(int arr[], int n, int* max, int* min) {
*max = arr[0];
*min = arr[0];
for (int i = 1; i < n; i++) {
if (arr[i] > *max) {
*max = arr[i];
}
else if (arr[i] < *min) {
*min = arr[i];
}
}
}
int main() {
int array[] = {5, 2, 9, 1, 7};
int max, min;
findMinMax(array, 5, &max, &min);
printf("Max value is %d\n", max);
printf("Min value is %d\n", min);
return 0;
}
```
阅读全文