1024 科学计数法

1024 科学计数法

参考代码及知识点:https://blog.csdn.net/tangxinru123/article/details/84975248
在这里插入图片描述

https://segmentfault.com/q/1010000015189897
在这里插入图片描述

#include<iostream>
using namespace std;
int main()
{
	char a[10001]={0};//此处必须初始化为0否则会有一个点过不去
	char h;//输入符号
	int e;
	scanf("%c%c.%[0-9]E%d",&h,&a[0],&a[1],&e);//%[0-9] 是一组字符的集合。比如 %[0-9] 表示会一直读取 0 到 9 的字符,直到出现不是 0 到 9 的字符为止。使用 E 读入字符 E
	if(h=='-')//符号为负
	{
		cout<<"-";
	}
	if(e<0)//指数小于0
	{
		cout<<"0.";
		e=-e-1;
		while(e)
		{
			cout<<"0";
			e--;
		}
		cout<<a;
	} 
	else//指数大于等于0
	{
		for(int i=0;i<=e||a[i]!=0;i++)
		{
			if(i==e+1)
			{
				printf(".");//输出小数点,比如e是3,就在i=4的时候输出小数点 
			}
			printf("%c",a[i]==0?'0':a[i]);
		}
	 } 
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值