20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises05

本文提供多个C语言编程实例,涵盖数值排序、三角形面积计算、条件判断等核心技能,通过实际操作加深理解。

20201015-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises05

P270

在这里插入图片描述

题解和分析

第一种方式,直接判断

/*
编写一程序P270.C实现以下功能
  从键盘读入3个实数,按由大到小的顺序输出这3个数。
    编程可用素材:
        printf("请输入3个数:")、
        printf("\n这三个数由大到小为: %.2f   %.2f   %.2f\n"…。
  程序的运行效果应类似地如图1所示,图1中的红色部分是从键盘输入的内容。

        请输入3个数:200.35 1056.1 72.132

        这三个数由大到小为: 1056.10   200.35   72.13

    解题思路
        1. 直接判断,给出结果
        2. 要注意考虑到所有情况
*/

#include <stdio.h>

int main(void)
{
   
   
    double data1, data2, data3;

    printf("请输入3个数:");
    scanf("%lf %lf %lf", &data1, &data2, &data3);

    if (data1 >= data2 && data1 >= data3)
    {
   
   
        if (data2 >= data3)
        {
   
   
            printf("\n这三个数由大到小为: %.2lf   %.2lf   %.2lf\n", data1, data2, data3);
        }
        else
        {
   
   
            printf("\n这三个数由大到小为: %.2lf   %.2lf   %.2lf\n", data1, data3, data2);
        }
    }

    if (data2 >= data1 && data2 >= data3)
    {
   
   
        if (data1 >= data3)
        {
   
   
            printf("\n这三个数由大到小为: %.2lf   %.2lf   %.2lf\n", data2, data1, data3);
        }
        else
        {
   
   
            printf("\n这三个数由大到小为: %.2lf   %.2lf   %.2lf\n", data2, data3, data1);
        }
    }

    if (data3 >= data1 && data3 >= data2)
    {
   
   
        if (data1 >= data2)
        {
   
   
            printf("\n这三个数由大到小为: %.2lf   %.2lf   %.2lf\n", data3, data1, data2);
        }
        else
        {
   
   
            printf("\n这三个数由大到小为: %.2lf   %.2lf   %.2lf\n", data3, data2, data1);
        }
    }

    return 0;
}

第二种方式,节省判断,直接排序

/*
编写一程序P270.C实现以下功能
  从键盘读入3个实数,按由大到小的顺序输出这3个数。
    编程可用素材:
        printf("请输入3个数:")、
        printf("\n这三个数由大到小为: %.2f   %.2f   %.2f\n"…。
  程序的运行效果应类似地如图1所示,图1中的红色部分是从键盘输入的内容。

        请输入3个数:200.35 1056.1 72.132

        这三个数由大到小为: 1056.10   200.35   72.13

    解题
        1. 可以采用交换的思路
        2. 最大端和最小端位置固定即可    
*/

#include <stdio.h>

int main(
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值