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; }