码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-08-05 21:39:19      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:

当作复习。。。 

 

技术分享

 

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

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

int transformTemprature(int F){
        //`C=(5/9)(?`F-32)
        return (int)(5 * (F-32) / 9);
}

int main(){

        int lower = 0;
        int upper = 300;
        int step = 20;

        for(int f=lower; f<=upper; f+=step){
                printf("%d   %d\n",f,transformTemprature(f));
        }

        return 0;
} 
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
0  -17
20  -6
40  4
60  15
80  26
100  37
120  48
140  60
160  71
180  82
200  93
220  104
240  115
260  126
280  137
300  148


修改为
                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
0    -17
20    -6
40    4
60    15
80    26
100    37
120    48
140    60
160    71
180    82
200    93
220    104
240    115
260    126
280    137
300    148

修改为
                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
  0    -17
 20     -6
 40      4
 60     15
 80     26
100     37
120     48
140     60
160     71
180     82
200     93
220    104
240    115
260    126
280    137
300    148

 

 

(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 = 0;
        float upper = 300;
        float step = 20;

        for(float f=lower; f<=upper; f+=step){
                printf("%3.0f%6.1f\n",f,transformTemprature(f));
        }

        return 0;
} 
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
  0 -17.8
 20  -6.7
 40   4.4
 60  15.6
 80  26.7
100  37.8
120  48.9
140  60.0
160  71.1
180  82.2
200  93.3
220 104.4
240 115.6
260 126.7
280 137.8
300 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=0; f<=300; f+=20){
                printf("%3d%6.1f\n",f,transformTemprature(f));
        }

        return 0;
}

 

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

 

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

标签:

原文地址:http://www.cnblogs.com/maxiaodoubao/p/4705703.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!