?? 1001.c
字號:
Source Code
Problem: 1001 User: O_Q
Memory: 80K Time: 0MS
Language: C Result: Accepted
Source Code
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
char r[7],res[200],dig[200];
int n,i,j,k,tmp,num,m,flag;
while(scanf("%s%d",r,&n)!=-1)
{
for(i=j=0;r[i];i++)
if(r[i]!='.')
res[j++]=r[i];
else
flag=i;
res[j]='\0';
num=atol(res);
strcpy(res,"1");
for(i=1;i<=n;i++)
{
m=strlen(res);
for(j=m-1,k=tmp=0;j>=0;j--)
{
dig[k++]=((res[j]-'0')*num+tmp)%10+'0';
tmp=((res[j]-'0')*num+tmp)/10;
}
while(tmp)
{
dig[k++]=tmp%10+'0';
tmp/=10;
}
dig[k]='\0';
strrev(dig);
strcpy(res,dig);
}
if((5-flag)*n>k)
{
putchar('.');
for(j=0;j<(5-flag)*n-k;j++)
putchar('0');
}
for(j=k-1;k-j<=(5-flag)*n;j--)
if(res[j]!='0')
break;
for(i=0;i<=j;i++)
{
if(i==k-(5-flag)*n)
putchar('.');
putchar(res[i]);
}
putchar('\n');
}
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -