zoukankan      html  css  js  c++  java
  • 问题 C: 例题4-3 比较交换3个实数值,并按序输出

    问题 C: 例题4-3 比较交换3个实数值,并按序输出

    时间限制: 1 Sec  内存限制: 12 MB
    献花: 210  解决: 190
    [献花][花圈][TK题库]

    题目描述

    从键盘输入3个实数a, b, c,通过比较交换,将最小值存储在变量a中,最大值存储在变量c中,中间值存储在变量b中,并按照从小到大的顺序输出这三个数a, b, c。

    末尾输出换行。

    输入

    输入以空格分隔的三个实数

    输出

    按照从小到大的顺序输出这三个实数,中间以空格分隔,最小值在前,最大值在后。小数点后保留2位小数。

    注意末尾的换行。

    样例输入

    3 7 1

    样例输出

    1.00 3.00 7.00

    答案:

    问题 C: 例题4-3 比较交换3个实数值,并按序输出

    时间限制: 1 Sec  内存限制: 12 MB
    献花: 210  解决: 190
    [献花][花圈][TK题库]

    题目描述

    从键盘输入3个实数a, b, c,通过比较交换,将最小值存储在变量a中,最大值存储在变量c中,中间值存储在变量b中,并按照从小到大的顺序输出这三个数a, b, c。

    末尾输出换行。

    输入

    输入以空格分隔的三个实数

    输出

    按照从小到大的顺序输出这三个实数,中间以空格分隔,最小值在前,最大值在后。小数点后保留2位小数。

    注意末尾的换行。

    样例输入

    3 7 1

    样例输出

    1.00 3.00 7.00
    答案:

    #include<stdio.h>
    int main(){
    double a,b,c,t;
    scanf("%lf %lf %lf",&a,&b,&c);
    //a=1;
    //b=7;
    //c=3;
    if(a>b){
    t=b;
    b=a;
    a=t;
    }
    if(b>c){
    t=c;
    c=b;
    b=t;
    }
    if(a>b){
    t=b;
    b=a;
    a=t;
    }


    printf("%.2f %.2f %.2f",a,b,c);
    return 0;
    }

    思路:

    两个数的排序,只需要比较一下,如果第一个比第二个大,交换一下,否则什么都不用做。

    三个数的排序 ,可以先将前两个排序,保证第一个比第二个小。

    然后将第二个和第三个数排序,保证第二个比第三个小。

    经过上面两次排序,保证了第三个是最大的,但不能保证第二个还比第一个大,因为第二次排序的时候可能改变了第二个数。因此,还要再将前两个数进行排序。最终保证了三个整数从小到大排列。

     
  • 相关阅读:
    python logging模块
    python re模块
    python xml模块
    python json,pickle,shelve模块
    python os,sys模块
    python 临时添加环境变量
    python random模块
    python time模块
    python 装饰器的简单使用
    python学习之路(二)
  • 原文地址:https://www.cnblogs.com/zhhjthing/p/7708019.html
Copyright © 2011-2022 走看看