用c语言编写两个函数,其功能分别为: ①求N个整数的次大值和次小值。 ②求两个整数的最大公约数和最小公倍数。 输人10个整数,调用函数求它们的次大值和次小值,及次大值和次小值的最大公约数和最小公倍数。 要求:这两个函数和主函数分属3个文件。
时间: 2024-05-10 17:19:31 浏览: 133
以下是代码实现:
1. 文件名:second.c
```c
#include <stdio.h>
#include <limits.h>
void second(int arr[], int n, int* sec_min, int* sec_max) {
int i, min = INT_MAX, max = INT_MIN;
*sec_min = *sec_max = arr[0];
for (i = 0; i < n; i++) {
if (arr[i] < min) {
*sec_min = min;
min = arr[i];
} else if (arr[i] < *sec_min && arr[i] != min) {
*sec_min = arr[i];
}
if (arr[i] > max) {
*sec_max = max;
max = arr[i];
} else if (arr[i] > *sec_max && arr[i] != max) {
*sec_max = arr[i];
}
}
}
```
2. 文件名:gcd_lcm.c
```c
#include <stdio.h>
int gcd(int a, int b) {
if (b == 0) return a;
return gcd(b, a % b);
}
int lcm(int a, int b) {
return a * b / gcd(a, b);
}
```
3. 文件名:main.c
```c
#include <stdio.h>
#include "second.h"
#include "gcd_lcm.h"
#define MAX 10
int main() {
int arr[MAX], i, sec_min, sec_max;
printf("Enter %d integers:\n", MAX);
for (i = 0; i < MAX; i++) {
scanf("%d", &arr[i]);
}
second(arr, MAX, &sec_min, &sec_max);
printf("Second minimum value: %d\nSecond maximum value: %d\n", sec_min, sec_max);
printf("GCD of second minimum and second maximum: %d\nLCM of second minimum and second maximum: %d\n", gcd(sec_min, sec_max), lcm(sec_min, sec_max));
return 0;
}
```
4. 文件名:second.h
```c
void second(int arr[], int n, int* sec_min, int* sec_max);
```
5. 文件名:gcd_lcm.h
```c
int gcd(int a, int b);
int lcm(int a, int b);
```
注意:需要在编译时将三个文件同时编译,例如:
```
gcc -o main main.c second.c gcd_lcm.c
```
阅读全文
相关推荐
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![c](https://img-home.csdnimg.cn/images/20250102104920.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)