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


    当作复习。。。 

    (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
    ",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	%d
    ",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
    
    修改为
                    printf("%3d%3d
    ",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
    ",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
    ",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 ",f,transformTemperature(f)); } return 0; }
  • 相关阅读:
    学习笔记26_MVC前台强类型参数
    Elasticsearch 和 solr 的区别
    Mysq索引优化(什么情况创建索引,什么情况不创建索引)
    Spring支持的常用数据库传播属性和事务隔离级别
    方法的参数传递机制
    JAVA类初始化和实例初始化
    JAVA设计模式
    CentOS 7 下安装 Nginx 服务,并开机自启动
    JAVA发送xml格式的接口请求
    JAVA接收postman的中raw的参数
  • 原文地址:https://www.cnblogs.com/maxiaodoubao/p/4705703.html
Copyright © 2020-2023  润新知