C语言输入三个数比较大小,要求两个函数
时间: 2024-10-01 07:12:10 浏览: 34
在C语言中,为了输入并比较三个数的大小,你可以编写两个函数分别负责接收用户输入和比较数值。这里是一个简单的示例:
首先,创建一个函数用于获取用户的输入,并将它们存储为整型变量:
```c
#include <stdio.h>
// 函数声明
int get_three_numbers();
int main() {
int a, b, c;
// 调用函数获取三个数字
if (get_three_numbers(&a, &b, &c)) {
printf("输入成功,三个数字分别为:%d %d %d\n", a, b, c);
// 然后在这里可以对这三个数进行比较
} else {
printf("获取数字失败!\n");
}
return 0;
}
// 函数定义,接收三个指针作为参数
int get_three_numbers(int* num1, int* num2, int* num3) {
if (scanf("%d%d%d", num1, num2, num3) == 3 && *num1 != -1 && *num2 != -1 && *num3 != -1) {
return 1; // 输入成功
} else {
*num1 = *num2 = *num3 = -1; // 输入错误设置为特殊值
return 0; // 输入失败
}
}
```
然后,创建另一个函数来比较这三者之间的大小,由于题目未明确是否需要同时处理最大、最小值,这里提供一个基础版本,只比较两数:
```c
void compare(int a, int b, int* min, int* max) {
if (a < b) {
*min = a;
if (*max == -1 || a > *max) {
*max = a;
}
} else {
*max = b;
if (*min == -1 || b < *min) {
*min = b;
}
}
}
```
如果你想同时找到三个数的最大值和最小值,可以在`main`函数中这样调用:
```c
int max, min;
compare(a, b, &min, &max); // 比较前两个
compare(min, c, &min, &max); // 更新最小值
compare(max, c, &max, &min); // 更新最大值
printf("最大值是:%d, 最小值是:%d\n", max, min);
```
阅读全文