C语言 输入三个数,求它们的最小值,最小值和中间值

如题所述

#include<stdio.h>
int max_mid_min(int a,int b,int c)
{
    int max,mid,min;
    if(a>b)
    {
        max = a;
        mid = b;
    }else
    {
        max = b;
        mid = a;
    }
    if(c > max)
    {
      tmp = max;
      max = c;
      c = mid;
      mid = tmp;
      min =  c;
    }else if(c > mid)
    {
        tmp = mid;
        mid = c;
        min = tmp;
    }else
    {
        min =c;   
    }
    
    printf("max:%d mid:%d min:%d\n",max,mid,min);
}

int main(int argc,char **argv)
{
    int a,b,c;
    scanf("%d %d %d\n",&a,&b,&c);
    max_mid_min(a,b,c);
    return 0;  
 }
 
 //上面是最简单最原始的代码,楼上的各位都使用了排序的做法

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-16

请问你懂不懂一点C语言呢?如果懂得话就好办,提醒你使用冒泡排序。


初学者请看这里:

   定义一个数组来装这三个数,定义一个temp变量来临时存储核心代码如下

for(int i=0;i<array.length;i++)
{
    if(array[i]<array[i+1])
    {
        i++;
    }
    else
    {
        temp=array[i];
        array[i]=array[i+1];
        array[i+1]=temp;
    }
}
循环执行完毕最小的就是第一个array[0],最大的就是最后一个array[2],中间的就是中间值array[1]

第2个回答  2014-12-16

相似回答