写一个函数返回三个整数中的中间数。

该程序定义了一个名为midnum的函数,用于接收三个整数参数a、b和c,并返回这三个数中居中的那个数。在main函数中,用户被要求输入三个不同的整数,然后程序调用midnum函数并打印出中间的数。示例输入为963,输出为6。
摘要由CSDN通过智能技术生成
写一个函数返回三个整数中的中间数。函数原型:int mid(int a, int b, int c),返回a,b,c三数中大小位于中间的一个数。在main函数中调用该函数进行测试。

**输入格式要求:"%d%d%d" 提示信息:"请输入三个不同的整数:"
**输出格式要求:"中间的一个数为%d\n"
程序运行示例:
请输入三个不同的整数:9 6 3
中间的一个数为6
#include<stdio.h>
int midnum(int a,int b,int c){
    if(a>=b && b>=c || c>=b && a<=b)
        return b;
    else if(a>=c && c>=b || b>=c && a<=c)
        return c;
    else return a;
}
int main(void){
    int a, b, c;
    printf("请输入三个不同的整数:");
    scanf("%d%d%d", &a, &b, &c);
    printf("中间的一个数为%d\n",midnum(a,b,c));
    return 0;
}

### 回答1: 函数代码如下: ``` int mid(int a, int b, int c) { if ((a >= b && a <= c) || (a >= c && a <= b)) { return a; } else if ((b >= a && b <= c) || (b >= c && b <= a)) { return b; } else { return c; } } ``` 在main函数调用该函数进行测试: ``` #include <stdio.h> int mid(int a, int b, int c); int main() { int a = 10, b = 20, c = 15; int m = mid(a, b, c); printf("中间是:%d\n", m); return ; } ``` 输出结果为: ``` 中间是:15 ``` ### 回答2: 中间指的是三个大小排在第二位的那个。因此要比较三个的大小关系,才能确定中间是哪一个。 我会这样这个函数int mid(int a, int b, int c) { if (a >= b && a <= c || a <= b && a >= c) { // 判断a是不是中间 return a; } else if (b >= a && b <= c || b <= a && b >= c) { // 判断b是不是中间 return b; } else { // c是中间 return c; } } 此函数的if和else if语句组合用于比较a、b、c的大小关系,如果a在b和c之间,则a为中间返回a;如果b在a和c之间,则b为中间返回b;否则,c为中间返回c。 在main函数,我们可以在输入三个整数后调用该函数,例如: int main() { int a, b, c; cout << "输入三个整数:" << endl; cin >> a >> b >> c; cout << "中间是:" << mid(a, b, c) << endl; return 0; } 这个程序,用户输入三个整数,程序通过mid函数计算出中间并输出。 ### 回答3: 本题要求编一个名为"mid"的函数,用于返回三个整数大小位于中间的那个。在main函数需要调用该函数进行测试。 首先,应该明确中间的概念。要求返回三个大小位于中间的那个,也就是说,在三个,有一个最大值和一个最小值,那么大小位于中间的那个就是除去最大和最小后剩下的那个。 接下来考虑如何编这个函数。可以先将三个进行排序,然后返回位于中间的那个,也可以直接比较三个的大小,逐一判断哪个大小位于中间。这里我们选择后者。 函数原型如下: int mid(int a, int b, int c); 参a、b、c为输入的三个整数函数需要返回值类型为int,即中间的那个函数的实现如下: int mid(int a, int b, int c) { if(a > b) //先判断a和b的大小,如果a大于b,则将它们的值交换 { int temp = a; a = b; b = temp; } if(b > c) //再判断b和c的大小,如果b大于c,则将它们的值交换 { int temp = b; b = c; c = temp; } if(a > b) //最后再次判断a和b的大小,如果a大于b,则将它们的值交换,确保a为最小值,c为最大值 { int temp = a; a = b; b = temp; } return b; //返回大小位于中间的b } 函数的实现过程:首先判断a和b的大小,如果a大于b,则将它们的值交换,这样a的值一定不大于b。接着,判断b和c的大小,如果b大于c,则将它们的值交换,这样c的值一定不大于b。这样,a、b、c三个的大小顺序为:a小于等于b小于等于c。最后再次判断a和b的大小,如果a大于b,则将它们的值交换,这样确保a为最小值,c为最大值。由于b的大小位于a和c之间,因此函数可以直接返回b的值。 在main函数调用函数mid,代码如下: int main() { int a, b, c; cout << "请输入三个整数:"; cin >> a >> b >> c; int m = mid(a, b, c); cout << "中间是:" << m << endl; return 0; } 在程序运行时,首先要求用户输入三个整数,然后调用mid函数,计算出中间的那个,并输出结果。由此,程序的运行流程为:用户输入三个整数 -> 调用mid函数计算中间的那个 -> 输出结果。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xixixi~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值