C语言,输入abc三个整数,并从大到小排序输出和“找出三个数中最大的数”的中间变量的用法的区别

共同点:都是中间变量,都可以重复拿来做中转站使用

不同点:排序的题目中,中间变量只是做中转站作两个变量交换值用来,并不是要用来保存最终要输出的值

             而找出最大数或者最小数的题目中,中间变量不但做交换用的中转站,还要保存程序最终要输出的值

            也可以从程序的最终输出printf()语句中看出区别

1、输入abc三个整数,并从大到小排序输出中间变量只是做中转站,不是用来保存最终要输出的值

//输入abc三个整数,并从大到小排序输出

#include<stdio.h>

#include<stdlib.h>

int main(){

    int a, b, c; //用三个变量a, b, c分别存储最大的值,第二大的值,最小的值

    int t; //中间变量,每次交换中都可以拿来用,是可以重复拿来用的,目的只是交换两个变量的值,而不是用来保存最终要输出的值

    printf("Please type three integers:\n");

    scanf("%d %d %d", &a, &b, &c);

    //先确保a中放的是三个数中最大的值(a要分别与b 和c 比较)

    if(a<b){ 

        t = a;

        a = b;

        b = t;

    }

    if(a<c){

        t = a;

        a = c;

        c = t;

    }

    //确保b中放的是剩下2个数b和c中最大的值(即第二大的数)

    if(b<c){

        t = b;

        b = c;

        c = t;

    }

    //a,b,c已经从大到小排好序了,输出即可

    printf("%d, %d, %d", a, b, c);

    return 0;

}

2、【输入三个整数,找出三个数中最大的数】中间变量要用来保存最终输出的值,并且程序最后输出其保存的值

//输入3个数,找出最大的数

#include<stdio.h>

#include<stdlib.h>

int main(){

    int a, b, c;

    int max; //中间变量,保存三个数abc中最大的数,不但要做中转站来使用,用来保存最终输出的值,并且程序最后输出其保存的值

    printf("Please input three integers:\n");

    scanf("%d %d %d", &a, &b, &c);

//先处理第一个和第二个数a和b,找出哪个最大并放到max中间变量中

    if(a > b){ //首选找出前面两个数中最大的那个

        max = a;

    }else{  //a > b 不成立的情况 ——> 即 b >= a

        max = b;

    }

//找出了前两个数ab中最大的那个数并放到max中后,进一步考虑max和第三个数的关系

    if(c > max){  

        max = c;

    }

    printf("最大的数是:%d", max);

    return 0;

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值