1024科学计数法 自己写真尼玛烦格式.

/*
输入样例1:
+1.23400E-03
输出样例1:
0.00123400
输入样例2:
-1.2E+10
输出样例2:
-12000000000
*/
#include<iostream>
#include<string>
using namespace std;


int main()
{
string str;
cin>>str;
int flag;
int wei=0;
int len=str.length();


if(str[0]=='-') cout<<"-";


for(int i=1;i<len;i++)
{
if(str[i]=='E') 


{
flag=i;
}
}

for(int i=flag+2;i<len;i++)
{
wei=str[i]-'0'+wei*10;
}





if(str[flag+1]=='+')         //乘以  小数点要右移 
{
for(int i=1;i<flag;i++)
{

                         //+1.05670E+03           1056.7
/**/ if(wei<flag-3)            //要输出小数点
{
if(i==2) continue;   


    
if(i==wei+3)cout<<".";
if(i<=wei+3)cout<<str[i];    

}




/**/ if(wei>=flag-3)       //+1.05670E+08          105670000


{
if(i==2) continue; 
cout<<str[i];
if(i==flag-1)
{
for(int k=0;k<wei-flag+3;k++)
{
cout<<"0";
}
}
}
}
}

if(str[flag+1]=='-')            //小数点左移,要在前面加0


//+1.05670E-03           0.00105670
{
for(int i=1;i<flag;i++)
{
if(i==1 )cout<<"0.";
if(i==2) continue;
while(wei-1)
{

cout<<"0";
wei--;
}


cout<<str[i];
}


}






















return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值