zoukankan      html  css  js  c++  java
  • A program to print Fahrenheit-Celsius table with floating-point values

    我的主力博客:半亩方塘


    Another program to print Fahrenheit-Celsius table with decimal integer

    This program is presented as below.

    #include <stdio.h>
    /* print Fahrenheit_Celsius table
        for fahr = 0, 20, ..., 300; floating-point version */
    int main()
    {
        float fahr, celsius;
        int lower, upper, step;
    
        lower = 0;      /* lower limit of temperature table */
        upper = 300;     /* upper limit of temperature table */
        step = 20;       /* step size */
    
        fahr = lower;
        while (fahr <= upper)  {
            celsius = (5.0/9.0) * (fahr-32.0);
            printf("%3.0f %6.1f
    ", fahr, celsius);
            fahr = fahr + step;
        }
    
        return 0;
    }




    The figure of this program is presented as above. The right part of the figure is the output. This is much like the program which is mentioned at the beginning of the article, except that fahr and celsius are declared to be float. We were unable to use 5/9 in the previous version because integer division would truncate it to zero. A decimal point in a constant indicates that it is floating point, however, so 5.0/9.0 is not truncated because it is the ratio of two floating-point values.

    If an arithmetic operator has integer operands, an integer operation is performed. If an arithmetic operator has one floating-point operand and one integer operand, however, the integer will be converted to floating point before the operation is done. Writing floating-point constants with explicit decimal points even when they have integral values emphasizes their floating-point nature for human readers.

    For now, notice that the assignment

    fahr = lower;  


    and the test

    while (fahr <= upper)

    also work in the nature way — the int is converted to float before the operation is done.

    The implications of width and precision are tabled as follows.

    • %d            print as decimal integer
    • %6d          print as decimal integer, at least 6 characters wide
    • %f             print as foating point
    • %6f           print as floating point, at least 6 characters wide
    • %.2f          print as floating point, 2 characters after decimal point
    • %6.2f        print as floating point, at leat 6 wide and 2 characters after decimal point

    Among others, printf also recognizes %o for octal, %x for hexadecimal, %c for character, %s for charater string, and %% for % itself.

    Reference


  • 相关阅读:
    MF干活——C#点灯神话
    开发板通用刷机教程
    如何找到并完成兼职项目
    如何获取最新的X组件及源码
    MF干活——C#数码管与跑马灯之舞(视频)
    MF前传——探索者一号简介
    .Net Micro Framework移植基础(包编译通过)
    Oracle免客户端For .Net(只为用NewLife.XCode开发Oracle的同学服务)
    XCode新增数据转换功能(导数据)
    MF前传——探索者二号简介
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/7127881.html
Copyright © 2011-2022 走看看