数据结构与算法分析(c 语言描述)习题 1.3

/**
 * 1.3
 * 只使用处理I/O的PrintDigit函数,编写一个过程以输出任意实数
 *
 */

#include <stdio.h>

#define PrintDigit( Ch ) ( putchar( ( Ch ) + '0' ) )

void print_int(int N);

void print_out(double N, int j);

int main(void)
{
    // double a, b, c;
    // a = 3.3339;
    // b = 1.1;
    // c = 9.1;
    print_out(-4473.154837, 3);
    putchar('\n');
    return 0;
}

void print_int(int N)
{
    if (N > 10) {
        print_int(N / 10);
    }
    PrintDigit(N % 10);
}

void print_out(double N, int j)
{
    if (N < 0) {
        putchar('-');
        N = -N;
    }
    int n = (int)N;
    print_int(n);
    putchar('.');
    //小数部分
    double decimal = N - n;
    while(j--) {
        decimal *= 10;
        print_int((int)decimal);
        decimal = decimal - (int)decimal;
    }
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
高度自律,深度思考,以勤补拙
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!