将三个数按从大到小输出

来源:互联网 发布:网站软件合集 编辑:程序博客网 时间:2024/05/24 15:42

初学者只要会用if的循环嵌套就可以

#include<stdio.h>int main(){    int a,b,c;    printf("请输入三个不同的数\n");    scanf("%d %d %d",&a,&b,&c);    if(a>b)    {        if(b>c)        {            printf("a>b>c\n");        }        else        {            if(a>c)            {                printf("a>c>b\n");            }            else            {                printf("c>a>b\n");            }        }    }    else    {        if(a>c)        {            printf("b>a>c\n");        }        else        {            if(b>c)            {                printf("b>c>a\n");            }            else            {                printf("c>b>a\n");            }         }    }    return 0;}

易错点:多层if循环时造成混乱,无法理清题目
建议:先假设一个变量最大,在此情况下分析其余的两个变量;再从内层向外层逐步分析
但是,这样多的if语句很容易造成错误,所以用Swap函数可以更容易的解决这个问题

#include<stdio.h>void Swap(int *x, int *y){        int temp;        temp =*x;        *x = *y;        *y = temp;}int main(){    int a = 0, b = 0, c = 0;    scanf_s("%d%d%d", &a, &b, &c);    if (a < b)    {        Swap(&a, &b);    }    if (a < c)    {        Swap(&a, &c);    }    if (b < c)    {        Swap(&b, &c);    }    printf("%d %d %d", a, b, c);    return 0;}

主要利用swap函数来交换

原创粉丝点击