只使用处理IO的printDigit函数,编写一个过程以输出任意实数可以为负(java数据结构与算法习题1.3)
2017-08-25 09:38
621 查看
写之前大概搜了下大家的思路,发现大多数都是通过寻找小数点的位置来解的。本算法通过嵌套的方法来输出任意实数
输出:
public class A2_1_3 { public static void main(String[] args) { out(1234.56789); out(-1234.56789); out(0.123456789); out(-0.0100200030004000005); out(0.00001); } public static void out(double num){ if(num < 0){ num = -num; //正负号 System.out.print("-"); } int zhengshu = (int)num; printInt(zhengshu); //整数 System.out.print("."); //小数点 printDouble(num - zhengshu); //小数 //System.out.println(); //System.out.println(num - zhengshu); System.out.println(); } public static void printInt(int zhengshu){ if(zhengshu >= 10){ printInt(zhengshu / 10); } System.out.print(zhengshu % 10); } public static void printDouble(double xiaoshu){ if(xiaoshu < 1 && xiaoshu >= 0.00001){ // 通过这里确定小数精度,现输出最高精度为0.00001(连续出现4个0的情况) System.out.print((int)(xiaoshu*10) % 10); printDouble(xiaoshu*10 - (int)(xiaoshu*10)); } } }
输出:
相关文章推荐
- 只使用处理IO的printDigit函数,编写一个过程以输出任意实数
- java实现数据结构练习题--仅使用处理单个数字的I/O例程,编写一个过程以输出任意实数(可以是负的)
- 只使用处理I/O的PrintDigit函数,编写一个过程以输出任意实数
- 只使用处理I/O的PrintDigit函数,编写一个过程以输出任意实数
- 仅使用处理单个数字的I/O例程,编写一个过程以输出任意实数(可以是负的)
- 只使用处理I/O的PrintDigit函数,编写一个过程以输出任意实数
- 只使用I/O的PrintDigit函数,编写一个过程以输出任意实数
- 1、 编写一个Java应用程序,对用户输入的任意一组字符如{1,3,4,7,2,1,1,5,2},输出其中出现次数最多且数值最大的字符,并显示其出现次数。
- 请编写一个C函数,该函数可以实现将一个整数转为任意进制的字符串输出
- 5.1,从键盘任意输入一个实数,不使用计算绝对值函数编程计算并输出该实数的绝对值。
- 请编写一个C函数,该函数可以实现将一个整数转为任意进制的字符串输出
- 从键盘任意输入一个数,不使用计算绝对值函数编程计算并输出该实数的绝对值
- 请编写一个C函数,该函数可以实现将一个整数转为任意进制的字符串输出
- 《c primer pius》第十章第6题,编写一个程序,初始化一个二维double数组,并利用练习2中的任一函数来把这个数组复制到另一个二维数组(因为二维数组是数组的数组,所以可以使用处理一维数组的
- 2. 编写一个程序,从标准输入读取几行输入。每行输入都要打印到标准输出上,前面加上行号。在编写这个程序的时候要使用让这个程序能够处理的输入行的长度没有限制
- 请编写一个C函数,该函数可以实现将一个整数转为任意进制的字符串输出
- [JAVA]使用Eclipse从下载到编写一个实例全过程
- 请编写一个C函数,该函数可以实现将一个整数转为任意进制的字符串输出
- 4.2题目: 请编写一个C函数,该函数可以实现将一个整数转为任意进制的字符串输出
- 函数_习题:编写一个函数将任意一个整数逆序输出