编写自定义函数fun。求出两个非零正整数的最大公约数,并作为函数值返回输入一个华氏温度,要求输出摄氏温度。 公式为 c=5(f-32)/9。936238)。 3. 编写自定义函数max,用来求三个数的最大值编写自定义函数fun,计算实数a、b的平方根之和,将三个程序组装为一个
时间: 2024-02-29 08:51:04 浏览: 53
以下是三个自定义函数的实现:
```c
#include <stdio.h>
#include <math.h>
// 计算两个非零正整数的最大公约数
int gcd(int a, int b) {
int r = a % b;
while (r != 0) {
a = b;
b = r;
r = a % b;
}
return b;
}
// 将华氏温度转换为摄氏温度
double f2c(double f) {
return 5 * (f - 32) / 9;
}
// 计算实数a、b的平方根之和
double sqrt_sum(double a, double b) {
return sqrt(a) + sqrt(b);
}
// 求三个数的最大值
int max(int a, int b, int c) {
int max = a;
if (b > max) {
max = b;
}
if (c > max) {
max = c;
}
return max;
}
int main() {
// 计算最大公约数
int a, b;
printf("请输入两个非零正整数,以空格分隔:");
scanf("%d %d", &a, &b);
int result = gcd(a, b);
printf("%d 和 %d 的最大公约数为:%d\n", a, b, result);
// 将华氏温度转换为摄氏温度
double f;
printf("请输入华氏温度:");
scanf("%lf", &f);
double c = f2c(f);
printf("%.2lf℉ 等于 %.2lf℃\n", f, c);
// 计算实数a、b的平方根之和
double x, y;
printf("请输入两个实数,以空格分隔:");
scanf("%lf %lf", &x, &y);
double sum = sqrt_sum(x, y);
printf("%.2lf 和 %.2lf 的平方根之和为:%.2lf\n", x, y, sum);
// 求三个数的最大值
int m, n, p;
printf("请输入三个整数,以空格分隔:");
scanf("%d %d %d", &m, &n, &p);
int max_num = max(m, n, p);
printf("%d、%d、%d 中的最大值为:%d\n", m, n, p, max_num);
return 0;
}
```
这个程序可以依次调用四个自定义函数并输出结果。注意每个自定义函数要单独实现,不能将它们合并到一个函数中。
阅读全文