交换最大值最小值c语言
时间: 2024-10-26 19:01:54 浏览: 39
C语言程序设计-输入一维数组的8个元素,并将最大值与最后一个数交换
5星 · 资源好评率100%
在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`函数接受两个整型指针作为参数,并通过引用改变它们指向的实际值。运行程序后,你会看到最大的数和最小的数已经相互交换了。
阅读全文