数据结构与算法分析(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 协议》,转载必须注明作者和本文链接
高度自律,深度思考,以勤补拙
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

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