|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
' k5 U1 w! R) l6 E+ n例1:有人用温度计测量出用华氏温度98°F,现在要求用C语言实现把它转换为以摄氏法表示的温度。
+ I3 L: L. Q' G! z6 g" f4 Y0 L! J. {2 A
解题思路:这个问题的算法很简单,关键在于找到二者之间的转化公式,摄氏度等于九分之五乘以华氏度减去32的积,也就是:
# `0 v( l1 R' w( I3 S; Gcentigrade=(5.0/9)*(f_Degree-32);0 N) C+ D# g5 }7 \" d% B0 V& ?
) A2 w8 P6 Y, T, f; }: `: {3 d
源代码演示:2 S s( f; p f3 ]2 |
#include<stdio.h>//头文件
# n0 i1 N0 {9 @2 {9 `+ Y$ qint main() //主函数
2 Z- g( x9 \2 U+ o{
8 @+ i0 O0 s) k9 [( r+ x+ W flOAT f_Degree,centigrade; //定义浮点型变量" i) ]" y) u5 C, a1 C$ B
f_Degree=98.0;//初始化华氏度变量
+ L* q7 O# h2 f. W4 _: E' S centigrade=(5.0/9)*(f_Degree-32);//注意此处应该是5.0" a9 d1 c" }% M! y+ t
printf("华氏度98的摄氏度为:%f\n",centigrade);//输出结果
' S( Y/ |; R f9 K7 ^ return 0;//函数返回值为0, n& b% F x! M% x( C
}
. P) G* x5 n# \2 V+ {
+ c9 y# A. ~( x1 `编译结果:8 f! _5 A/ m# s& |- y. [
华氏度98的摄氏度为:36.666668
: V% m/ a7 u' e--------------------------------
6 t. H8 @) V0 w8 Z$ P4 h4 U* H; WProcess exited after 1.796 seconds with return value 0
7 P, W' Q+ P: u* b) u请按任意键继续. . .
: p7 l8 y1 B* R: G7 b$ j. D7 x& }% p, a/ D+ S9 L
读者应该会很容易的看懂这道例题,但是有一点需要读者格外的注意,就是这行代码
" F8 Z; p v" [5 Zcentigrade=(5.0/9)*(f_Degree-32);
4 n/ n* B" y2 i' y. P* g; U; I/ x
. v1 D8 E* X! r: V# {$ \如果写成
/ K6 p" p% L: ]# lcentigrade=(5/9)*(f_Degree-32);
( T- z @: K" u7 ^3 J* [7 Z6 B
# W; w8 h% ? o4 D/ J$ o3 F; x" n那么就会出现逻辑性错误,如下输出:
6 u; {5 m0 x$ `8 r华氏度98的摄氏度为:0.000000$ k! l" ~- K2 v
--------------------------------4 [/ [0 U! ?7 o- M
Process exited after 1.967 seconds with return value 0" X3 }, v+ {5 Q) S
请按任意键继续. . .9 h) Y' r1 [" l' @9 y3 b$ V* g
/ k7 H4 x- O4 N/ \
因为在C语言中不声明格式,这种整数相除的被除数比除数大的,会直接等于0,没有小数点后面的数字。 |
|