CCF NOI1001 温度转换

问题链接CCF NOI1001 温度转换




时间限制: 1000 ms  空间限制: 262144 KB

题目描述

  将输入的华氏温度转换为摄氏温度。由华氏温度F与摄氏温度C的转换公式为:F=C×9/5+32。

输入

  输入一个实数,表示华氏温度。

输出

  输出对应的摄氏温度,答案保留4位小数。

样例输入

50

样例输出

10.0000

数据范围限制




问题分析

  这是一个简单的计算问题,需要注意输出格式。

  问题中给出了从摄氏温度转换为华氏温度的公式,实际需要计算的是摄氏温度,需要进行公式转换。

  该问题源于(美)克尼汉,(美)里奇所著的《C程序设计语言》(《The C Proguamming Language》)一书。

程序说明

  常用的浮点数类型有float和double。日常生活和一般的工程问题中,从精度上考虑,使用float是足够的。

  计算摄氏温度的公式写为(F - 32)×5/9进行计算是没有问题的,但是如果写为5/9×(F - 32)则会出错。需要注意:整数之间的运算结果是整数。公式写为5.0/9×(F - 32)则可以得到正确的结果。

要点详解

  • 人们常用的数的类型有整数和实数。而计算机语言中,相应的数据类型是整数类型和浮点数类型。
  • 整数之间的运算结果是整数。
  • 数值非常大或者非常小,精度要求高时,变量应该考虑使用double类型
  • 函数scanf()和函数pringf()是标准输入输出函数,其原型定义在stdio.h中。
  • 函数scanf()用于格式化输入。该函数的格式以外的参数通常是地址。
  • 函数printf()用于格式化输出。
  • 运算符&有两种含义,一是取地址(一元运算,作用于变量),二是位运算(二元运算)。本程序中的&运算符是取地址运算。



100分通过的C语言程序之一:

#include <stdio.h>

int main(void)
{
    float f;

    scanf("%f", &f);

    /*
     * F=C×9/5+32
     * C=(F - 32)×5/9
     */
    printf("%.4f", (f - 32) * 5 / 9);

    return 0;
}



posted on 2017-04-01 06:47  海岛Blog  阅读(621)  评论(0编辑  收藏  举报

导航