首页 > 学院 > 开发设计 > 正文

1024. 科学计数法 (20)

2019-11-06 07:55:14
字体:
来源:转载
供稿:网友

1024. 科学计数法 (20)

时间限制100 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者HOU, Qiming

科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+-][0-9]+,即数字的整数部分只有1位,小数部分至少有1位,该数字及其指数部分的正负号即使对正数也必定明确给出。

现以科学计数法的格式给出实数A,请编写程序按普通数字表示法输出A,并保证所有有效位都被保留。

输入格式:

每个输入包含1个测试用例,即一个以科学计数法表示的实数A。该数字的存储长度不超过9999字节,且其指数的绝对值不超过9999。

输出格式:

对每个测试用例,在一行中按普通数字表示法输出A,并保证所有有效位都被保留,包括末尾的0。

输入样例1:
+1.23400E-03输出样例1:
0.00123400输入样例2:
-1.2E+10输出样例2:
-12000000000

Clan: 

#include <stdio.h>#include <string.h>#include<stdlib.h>char sign,ch,dir,zheng[10001],xiao[10001];int a,ex;int main(){    scanf("%c%d.%[^E]%c%c%s",&sign,&a,zheng,&ch,&dir,xiao);    int i,len;    if(sign=='-')    	PRintf("-");    ex=atoi(xiao);;    if(ex==0){    	printf("%d.",a);		printf("%s/n",zheng);		return 0;    }    else{		if(dir=='-'){			printf("0.");			for(i=0;i<ex-1;++i){				printf("0");			}			printf("%d",a);			printf("%s/n",zheng);		}		else{			len = strlen(zheng);//			printf("%d",a);			if(len<=ex){				printf("%s",zheng);				for(i=0;i<ex-len;++i)					printf("0");				printf("/n");			}			else{				for(i=0;i<ex;++i)					printf("%c",zheng[i]);				printf(".");				printf("%s/n",zheng+ex);			}		}		return 0;    }}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表