当作复习。。。

(1)将华氏度 换算成 摄氏度,公式:

℃=(5/9)(̧°F-32)
#include <stdio.h>

int transformTemprature(int F){
//`C=(5/9)(̧`F-32)
return (int)( * (F-) / );
} int main(){ int lower = ;
int upper = ;
int step = ; for(int f=lower; f<=upper; f+=step){
printf("%d %d\n",f,transformTemprature(f));
} return ;
lenovo-myc@lenovomyc-Lenovo-Product:~/C_test$ vim Temprature.c
lenovo-myc@lenovomyc-Lenovo-Product:~/C_test$ cc -std=gnu99 Temprature.c
lenovo-myc@lenovomyc-Lenovo-Product:~/C_test$ a.out
-
- 修改为
printf("%d\t%d\n",f,transformTemprature(f));
加入制表符 \t lenovo-myc@lenovomyc-Lenovo-Product:~/C_test$ vim Temprature.c
lenovo-myc@lenovomyc-Lenovo-Product:~/C_test$ cc -std=gnu99 Temprature.c
lenovo-myc@lenovomyc-Lenovo-Product:~/C_test$ a.out
-
- 修改为
printf("%3d%3d\n",f,transformTemprature(f));
右对齐 lenovo-myc@lenovomyc-Lenovo-Product:~/C_test$ vim Temprature.c
lenovo-myc@lenovomyc-Lenovo-Product:~/C_test$ cc -std=gnu99 Temprature.c
lenovo-myc@lenovomyc-Lenovo-Product:~/C_test$ a.out
-
-

(2)为了使精度更高。将变量由int 改为 float

#include <stdio.h>

float transformTemprature(int F){
//`C=(5/9)(̧`F-32)
return (5.0/9.0) * (F-32.0);
} int main(){ float lower = ;
float upper = ;
float step = ; for(float f=lower; f<=upper; f+=step){
printf("%3.0f%6.1f\n",f,transformTemprature(f));
} return ;
lenovo-myc@lenovomyc-Lenovo-Product:~/C_test$ vim TempratureFloat.c
lenovo-myc@lenovomyc-Lenovo-Product:~/C_test$ cc -std=gnu99 TempratureFloat.c
lenovo-myc@lenovomyc-Lenovo-Product:~/C_test$ a.out
-17.8
-6.7
4.4
15.6
26.7
37.8
48.9
60.0
71.1
82.2
93.3
104.4
115.6
126.7
137.8
148.9

(3)去掉多余参数

#include <stdio.h>

float transformTemprature(int F){
//`C=(5/9)(̧`F-32)
return (5.0/9.0) * (F-32.0);
} int main(){ for(int f=; f<=; f+=){
printf("%3d%6.1f\n",f,transformTemprature(f));
} return ;
}

(4) 将 幻数  替换为 #define 符号常量

#include <stdio.h>

#define LOWWER 0   /* lower limit of table */
#define UPPER 300  /* upper limit */
#define STEP 20   /* step size */ float transformTemperature(int f){
return (5.0/9.0) * (f - 32.0);
} /* print Fahrenheit-Celsius table */
int main(){
for(int f=LOWWER; f<=UPPER; f+=STEP){
printf("%3d%6.1f\n",f,transformTemperature(f));
} return ;
}

C程序设计语言(K&R) 笔记1的更多相关文章

  1. C程序设计语言(K&R)笔记

    1.表达式中float类型的操作数不会自动转换为double类型.一般来说,数学函数(如math.h)使用双精度类型的变量.使用float类型主要是为了在使用较大数组时节省存储空间,有时也为了节省机器 ...

  2. 《C程序设计语言》读书笔记----习题1-21

    题目就不写了,大概意思就是:尽量用制表符'\t'替换掉字符串中的空格. 同学们需要注意的是,打印一个制表符'\t',其所占长度不是固定的. 这里要理解“制表符”和“制表符终止位”.“制表符”的作用是使 ...

  3. 《Go程序设计语言》读书笔记-函数

    函数包含连续执行的语句,可以使用代码中通过调用函数来执行他们,函数能够将一个复杂的工作切分成多个更小的模块,使多人写作变得容易.另外,函数对他的使用者隐藏了实现细节.这几方面的特性使得函数成为多数编程 ...

  4. 《c程序设计语言》读书笔记--字符串比较

    举例如下: char a[10]; 1.定义的时候直接用字符串赋值 char a[10]="hello"; 注意:不能先定义再给它赋值,如  char a[10];  a[10]= ...

  5. 《c程序设计语言》读书笔记-5.6-指针重写getline等函数

    #include <stdio.h> #include <math.h> #include <stdlib.h> #include <string.h> ...

  6. 《c程序设计语言》读书笔记-4.1-判断字符串在另一个字符串中的位置

    #include <io.h> #include <stdio.h> #include <string.h> #include <stdlib.h> # ...

  7. 《c程序设计语言》读书笔记-第二个字符串任意一个在第一个字符串出现的位置,未出先返回-1

    #include <stdio.h> #include <string.h> #define Num 1000 int main() { int c,i,j = 0,m = 0 ...

  8. 《c程序设计语言》读书笔记-字符型0-9转为数字0-9

    #include <stdio.h> #define Num 10 int atoi(char s[]); int main() { int c,i = 0; char s[Num]; i ...

  9. 《c程序设计语言》读书笔记-十六位进制数转十进制

    #include <stdio.h> #include <stdio.h> int htoi(char s[]); main() { char s1[] = "10& ...

  10. 《c程序设计语言》读书笔记--闰年和字符输入不用 && ||

    #include <stdio.h> #include <string.h> #define sta 1500 #define Num 1600 int main() { in ...

随机推荐

  1. jquery自定义window事件

    <body> <a href='https://www.baidu.com/'>百度</a> </body> <script type=" ...

  2. DP的四边形优化

    DP的四边形优化 一.进行四边形优化需要满足的条件 1.状态转移方程如下: m(i,j)表示对应i,j情况下的最优值. w(i,j)表示从i到j的代价. 例如在合并石子中: m(i,j)表示从第i堆石 ...

  3. sp_rename sqlserver 表 列 索引 类型重命名

    --[语法] sp_rename [ @objname = ] 'object_name' , [ @newname = ] 'new_name' [ , [ @objtype = ] 'object ...

  4. python切片、迭代、生成器、列表生成式等高级特性学习

    python高级特性 1行代码能实现的功能,决不写5行代码.请始终牢记,代码越少,开发效率越高. 切片 当我们要取一个list中的前n各元素时,如果前n个少的话,我们还可以一个一个的取,但是若前n个元 ...

  5. 安全清空废纸篓mac

    在.bash_profile中加入: alias secureempty='sudo srm -rfvsz /Volumes/*/.Trashes/* ~/.Trash/*' 然后做终端输入:secu ...

  6. 搭建Rsync服务器

    部署Rsync服务器需要创建至少 一个配置文件,默认在系统中并不存在Rsync配置文件,对于服务器而言,配置文件创建完成后,使用守护进程模式启动rsync程序即可. 使用Centos 系统安装 部署R ...

  7. java学习笔记 --- IO(3)

    1.FileReader:读取字符流,默认GBK public class CharStreamDemo { public static void main(String[] args) throws ...

  8. hdoj-1027-Ignatius and the Princess II(逆康拓展开)

    题目链接 /* Name: Copyright: Author: Date: 2018/5/2 11:07:16 Description:输出第m小的序列 */ #include <iostre ...

  9. HihoCoder1080 更为复杂的买卖房屋姿势(线段树+多重lazy)

    描述 小Hi和小Ho都是游戏迷,“模拟都市”是他们非常喜欢的一个游戏,在这个游戏里面他们可以化身上帝模式,买卖房产. 在这个游戏里,会不断的发生如下两种事件:一种是房屋自发的涨价或者降价,而另一种是政 ...

  10. 在winform下实现左右布局多窗口界面的方法(二)

    这篇文章主要介绍了在winform下实现左右布局多窗口界面的方法之续篇 的相关资料,需要的朋友可以参考下 在上篇文章在winform下实现左右布局多窗口界面的方法(一)已经实现了左右布局多窗口界面,今 ...