数据结构与算法分析(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 协议》,转载必须注明作者和本文链接
高度自律,深度思考,以勤补拙
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

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