用c语言5.输入4个整数,找出其中的最大数。用函数的递归调用来处理。
时间: 2023-12-03 16:43:19 浏览: 138
以下是使用递归调用来找出4个整数中最大值的C语言代码:
```c
#include <stdio.h>
int findMax(int a, int b, int c, int d);
int main() {
int num1, num2, num3, num4, max;
printf("请输入4个整数:\n");
scanf("%d%d%d%d", &num1, &num2, &num3, &num4);
max = findMax(num1, num2, num3, num4);
printf("最大数是:%d", max);
return 0;
}
int findMax(int a, int b, int c, int d) {
int max1, max2;
if (a > b) {
max1 = a;
} else {
max1 = b;
}
if (c > d) {
max2 = c;
} else {
max2 = d;
}
if (max1 > max2) {
if (a > b) {
return findMax(a, c, d, b);
} else {
return findMax(b, c, d, a);
}
} else {
if (c > d) {
return findMax(a, c, b, d);
} else {
return findMax(a, d, b, c);
}
}
}
```
在函数`findMax`中,我们首先找出两个最大数`max1`和`max2`,然后比较它们。如果`max1`大于`max2`,则我们需要继续递归调用`findMax`函数,但是需要将其中较小的数和另外两个数一起传递给下一次调用。如果`max2`大于`max1`,则我们需要将两个最大数中较小的数和另外两个数一起传递给下一次调用。最后,当只有两个数时,我们可以直接比较它们并返回最大值。
阅读全文