2874: 小T的乘法
时间限制: 1 Sec 内存限制: 128 MB
提交: 1372 解决: 150
[状态] [讨论版] [提交] [命题人:541703040109]
题目描述
在科学记数法中,一个数可以被写成一个实数a与一个10的n次幂的积:a x 10n
给定一个数科学记数法表示中的a和n的值,求该数原本的值。
输入
输入a, n代表科学记数法表示中的实数部分和幂次大小,1 <= a < 10 ,0 <= n <=1000。
输出
输出其表达的值。
样例输入 Copy
1.22 2
样例输出 Copy
122
提示
表达的数字可以达到1000位。
来源/分类
代码:
//注意题目,数字可以达到1000位,应用数组处理该问题
#include <stdio.h>
#include<string.h>
int main()
{
int n,lon,relon,i=0;
char a[1001]={'\0'};
char m;
while(scanf("%c",&m),m!=' ')//读入前面的数字
a[i++]=m;
scanf("%d",&n);//读入幂
lon=n;
if(n==0)
for(int v=0;a[v]!='\0';v++)
printf("%c",a[v]);
else if(n>0)
{
for(i=0;a[i]!='\0';i++)
{
if(a[i]=='.')
{
lon++;
continue;
}
if(lon==0&&a[i]!='\0')
printf(".");
if(a[i]!='.')
printf("%c",a[i]);
lon--;
}
relon=strlen(a);
for(int k=1;k<=n-relon+2;k++)
printf("0");
}
return 0;
}