P0101

一个水分子的质量是3.0*10-23克,一夸脱水的质量是950克。写一个程序输入水的夸脱数n(0 <= n <= 1e10),然后输出水分子的总数。
输入
  109.43
输出
  3.465283E+027

写这道题时小编头大了,怎么计算这么长的数值呢,可是查看了double的取值范围一看,呵呵,笑了
在这里插入图片描述我们可以直接计算啊,然后以科学技术法输出就行了啊!!!
仔细一看不行,因为题意中科学计数法的指数不足3位要补0,故采用以下方法

package Main;

import java.util.*;
public class Main {
	public static void main(String []args) {
		Scanner input=new Scanner(System.in);
	double  a=input.nextDouble();
	double c=a*950/(3.0e-23);
	int b=0;
	while(c>=10)
	{c/=10;
	b++;	
	}
	if(b<10)
	System.out.printf("%6fE+00%d",c,b);
	else if(b<100)
		System.out.printf("%6fE+0%d",c,b);
	else
		System.out.printf("%6fE+%d",c,b);
}
}

在这里插入代码片
发布了130 篇原创文章 · 获赞 16 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/feiqipengcheng/article/details/103615006