当作复习。。。

(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. yeomen/bower/grunt

    yeomen: npm install yo angular-in-action project npm install -g generator-angular npm install -g gen ...

  2. hdu4442 Physical Examination(贪心)

    这种样式的最优解问题一看就是贪心.如果一下不好看,那么可以按照由特殊到一般的思维方式,先看n==2时怎么选顺序(这种由特殊到一般的思维方式是思考很多问题的入口): 有两个队时,若先选第一个,则ans= ...

  3. 树莓派视频监控 —— 使用 mjpg

    下载到树莓派本地: $ wget https://github.com/jacksonliam/mjpg-streamer/archive/master.zip $ unzip master.zip ...

  4. New Year and Buggy Bot

    Bob programmed a robot to navigate through a 2d maze. The maze has some obstacles. Empty cells are d ...

  5. 基于JQ的三级联动菜单选择

    <!-- author:青芒 --> <!DOCTYPE html> <html lang="en"> <head> <met ...

  6. Proxmox qm命令应用实例

          1) 把一个物理硬盘增加到VM上qm set 105 --virtio1 /dev/sdb     <-- 表示把/dev/sdb物理硬盘以 virtio 接口类型增加至 105 的 ...

  7. 【转】 Pro Android学习笔记(八一):服务(6):复杂数据Parcel

    目录(?)[-] 自定义的Parcelable类 AIDL文件 服务的实现 Client的实现 同步和异步     文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处 ...

  8. js页面埋点

    页面埋点的作用,其实就是用于流量分析.而流量的意思,包含了很多:页面浏览数(PV).独立访问者数量(UV).IP.页面停留时间.页面操作时间.页面访问次数.按钮点击次数.文件下载次数等.而流量分析又有 ...

  9. 经典SQL问题: 行转列,列转行

    情景简介 学校里面记录成绩,每个人的选课不一样,而且以后会添加课程,所以不需要把所有课程当作列.数据库grade里面数据如下图,假定每个人姓名都不一样,作为主键.本文以MySQL为基础,其他数据库会有 ...

  10. 校赛热身 Problem C. Sometimes Naive (状压dp)

    题解: 列举每一种3的倍数的组合,开始先求出3条边的可行解,则 六条边的可行解可以由两个三条边得来. 详见代码解析 #include<bits/stdc++.h> using namesp ...