|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
5 _* M# m7 I0 D, ] H) n" o例1:有人用温度计测量出用华氏温度98°F,现在要求用C语言实现把它转换为以摄氏法表示的温度。# V E- w- f- @; [( I4 Y& K
4 Y' h$ b' ^4 N& E/ C. n! ]
解题思路:这个问题的算法很简单,关键在于找到二者之间的转化公式,摄氏度等于九分之五乘以华氏度减去32的积,也就是:
4 m0 S+ g1 Z, mcentigrade=(5.0/9)*(f_Degree-32);
: |# [( G% t+ y; j# W. y
3 {0 w5 x! U; [- A+ N4 w5 z5 F$ o源代码演示:
, w( J$ e; B+ B. x- C#include<stdio.h>//头文件
1 T! i! H+ Y% r8 m: f4 M5 mint main() //主函数6 O y3 T' Q) G1 y; p! G2 ~
{) q0 k$ n8 {5 u% T8 ]7 B5 D9 o
flOAT f_Degree,centigrade; //定义浮点型变量3 r6 X6 S; F2 u" G' I2 H9 C
f_Degree=98.0;//初始化华氏度变量3 m u4 M; ~( i: O, |5 \' d
centigrade=(5.0/9)*(f_Degree-32);//注意此处应该是5.0
. w4 l8 T- n+ Z2 z+ | P% N printf("华氏度98的摄氏度为:%f\n",centigrade);//输出结果) S+ m8 q. k% p2 C
return 0;//函数返回值为0$ ~' h/ p- \5 N$ ?" O
}
: [# S: m- d3 e4 L: Z {
6 Y4 u: Z1 n4 r编译结果:
% z) Y3 G8 d4 A- b/ W华氏度98的摄氏度为:36.666668
+ E0 z" B2 R& t: y" T--------------------------------
# X) A( l. ?4 O( _5 g- q2 K9 DProcess exited after 1.796 seconds with return value 0
' c! g7 O( @8 r! n请按任意键继续. . .2 D$ |/ G4 v* z# y4 d6 h. I
0 t8 J, F9 ?: Z- c& d
读者应该会很容易的看懂这道例题,但是有一点需要读者格外的注意,就是这行代码' E5 p' W, o7 F) O7 Y0 H# a2 w8 x
centigrade=(5.0/9)*(f_Degree-32);
8 V3 X5 z0 a& ]4 f4 H7 V4 c: w8 j9 N* [+ t( i+ F8 v9 d
如果写成
' o2 U: q/ P) Q/ q" Mcentigrade=(5/9)*(f_Degree-32);) K8 D# u, w; v& i. H! X
9 ] z! X5 l+ f# M, J' L D) D; B
那么就会出现逻辑性错误,如下输出:0 K |' \, ^ \7 x
华氏度98的摄氏度为:0.0000007 l' v: u% r! f& W4 Z
--------------------------------
1 K0 ^7 a- N- b6 ?4 hProcess exited after 1.967 seconds with return value 0
2 [7 m9 b) W2 R9 z+ R% Q请按任意键继续. . .0 ]1 ]" x3 d6 A, J; d; `
& b) p5 _7 Z% E/ A3 E! K+ j7 p因为在C语言中不声明格式,这种整数相除的被除数比除数大的,会直接等于0,没有小数点后面的数字。 |
|