题目
题目描述
从键盘输入三个整数到变量a,b,c,输出其中中间大小的数。
输入
输入三个整数
输出
其中中间大小的整数
样例输入
3 6 2
样例输出
3
推荐几个在线编译的网址
Online C Compiler - online editorC 在线工具 | 菜鸟工具c在线编译器,c语言在线解释器,在线编程网站感兴趣的请评论答案
参考:
#include<stdio.h>
int main()
{
int a,b,c,s;
scanf("%d %d %d",&a,&b,&c);
//判断b是不是中间那个数,如果是中间那个数,那b要大于a,c要大于b,,,,或者 b要大于c,a要大于b
if(((b>a)&&(c>b))||((b>c)&&(a>b)))
printf("%d\n",b);
else if(((a>b)&&(c>a))||((a>c)&&(b>a)))
printf("%d\n",a);
else
printf("%d\n",c);
return 0;
}
更新第二个答案,一个同事给的,思路很好
#include<stdio.h>
int main()
{
int a,b,c,s;
scanf("%d %d %d",&a,&b,&c);
int max ;
max = a>b?a:b;
max = max>c?max:c;
int min;
min = a>b?b:a;
min = min>c?c:min;
int resutle;
resutle = a + b + c - min -max;
printf("%d\n",resutle);
return 0;
}
用冒泡排序实现
/*************************************************************************
> File Name: 1.c
> Author:
> Mail:
> Created Time: Thu 29 Nov 2018 06:53:21 PM CST
************************************************************************/
#include<stdio.h>
int main()
{
//用冒泡排序实现
int a[3];
for(int i=0;i<3;i++)
{
scanf("%d",&a[i]);
}
//冒泡 把最小的放在最上面
for(int i=0;i<2;i++)
{
for(int i=0;i<2;i++)
{
int k = 0;
if(a[i] > a[i+1])
{
//printf("%d %d\n",a[i],a[i+1]);
k = a[i];
a[i] = a[i+1];
a[i+1] = k;
//printf("%d %d\n",a[i],a[i+1]);
}
}
}
printf("%d\n",a[1]);
return 0;
}

欢迎关注微信公众号-嵌入式Linux
觉得不错,请帮忙转发,点赞,您的每一次支持,我都将铭记于心
原文作者:;如有侵权,请联系管理员删除。