第一章笔记
来源:互联网 发布:php use闭包 编辑:程序博客网 时间:2024/05/19 04:02
题目1.3只使用处理I/O的PrintDigit函数,编写一个过程以输出任意实数(可以是负的)。
原书对PrintDigit的定义包含在一个作为范例的源代码中,这个源代码通过递归实现只用PrintDigit函数(一次输出一个数字)输出一串数字
#include <stdio.h>#include <stdlib.h>#define PrintDigit( Ch ) ( putchar( ( Ch ) + '0' ) )/* START: fig1_4.txt */ void PrintOut( unsigned int N ) /* Print nonnegative N */ { if( N >= 10 ) PrintOut( N / 10 ); PrintDigit( N % 10 ); }/* END */main( ){ PrintOut( 1369 ); putchar( '\n' ); return 0;}
而题目1.3的答案源代码如下
<pre name="code" class="cpp"><span style="font-family:Arial, Helvetica, sans-serif;">//将要输出的函数四舍五入,decimal(小数),变量DecPlaces指小数部分</span>
<span style="font-family: Arial, Helvetica, sans-serif;">double RoundUp( double N, int DecPlaces ) </span>
{int i;double AmountToAdd = 0.5; //举例N=2.567,DecPlaces=2,则N+AmountToAdd=2.572,同样情况下N=2.564时,N+AmountToAdd=2.569。这样保留两位小数时实现四舍五入for( i = 0; i < DecPlaces; i++ )AmountToAdd /= 10;return N + AmountToAdd;}
void PrintFractionPart( double FractionPart, int DecPlaces ){int i, Adigit;for( i = 0; i < DecPlaces; i++ ){FractionPart *= 10; //取一个小数,每次*10后取走其整数位ADigit = IntPart( FractionPart );PrintDigit( Adigit );FractionPart = DecPart( FractionPart );}}
void PrintReal( double N, int DecPlaces ){int IntegerPart;double FractionPart;if( N < 0 ){putchar(’-’); N = -N;}N = RoundUp( N, DecPlaces );IntegerPart = IntPart( N ); FractionPart = DecPart( N );PrintOut( IntegerPart ); /* Using routine in text */if( DecPlaces > 0 )putchar(’.’);PrintFractionPart( FractionPart, DecPlaces );}
0 0
- 第一章笔记
- 第一章笔记
- 第一章 笔记
- 第一章 笔记
- 第一章笔记
- 笔记---第一章
- 第一章笔记
- Win32学习笔记 第一章
- c++ primer第一章笔记
- c++学习笔记第一章
- VC++第一章学习笔记
- 汇编语言第一章学习笔记
- [php 笔记] 第一章环境
- 学习笔记 第一章
- 软件工程笔记(第一章)
- 汇编语言 第一章笔记
- SQL笔记第一章
- java笔记 第一章
- 论文笔记5
- USB枚举过程图示分析
- VS2013中安装、配置Boost库
- POJ 3667 Hotel (线段树)
- spring framework源码解析之序言
- 第一章笔记
- SharePoint Search之(十)Search Webpart-搜索网页部件
- 【Tsinsen】A1499. Theresa与数据结构 cdq分治套树状数组套平衡树
- AIX5 RAC另一节点重启后 单一节点挂起
- C# XML用法
- 白领职场中的清规戒律
- WebService 之CXF拦截器,使用 CXF 拦截器进行简单的 head 信息验证,适合入门选手
- How to Export Multiple Sheets from Jasper Report
- Git系列博客——(3)git基础