| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
你这程序能过sample中的最后一个数据吗In Reply To:呜呜……好郁闷啊,做了一天了,到底那里错了?那位大侠给看看啊,谢谢! Posted by:myi_i at 2004-10-23 15:28:58 > #include"stdio.h"
> #include"string.h"
> #define M 200
> main()
> {
> char *a,*b,*c,*temp;
> char one[M],two[M],three[M],input[6],s[6];
> int i,j,k,n,point,alen,blen,clen,sum,mul,carry=0,flag;
>
> while (scanf("%s %d",s,&n)!=EOF)
> {
>
> a=one;
> b=two;
> c=three;
> memset(one,0,M);
> memset(two,0,M);
> memset(three,0,M);
>
> for(i=5;i>=0;i--)
> {input[i]=s[5-i];}
>
> point=-1;
> alen=6;
> for(i=0,j=0;i<6;i++)
> {
> if(input[i]!='.')
> {a[j]=input[i];j++;}
> else
> {point=n*i;alen--;}
> }
> for(i=0;i<alen;i++)
> {a[i]-=48;}
> memcpy(two,one,6);
> blen=alen;
>
>
> //开始计算
> for(k=0;k<n-1;k++)
> {
> clen=alen+blen-1;
> carry=0;
>
> //字符串乘法c=a×b
> for(i=0;i<clen;i++)
> {
> sum=carry;
> carry=0;
>
> for(j=0;j<blen;j++)
> {
> if(i-j>=0 && i-j<alen)
> {
> mul=a[i-j]*b[j];
> carry+=mul/10;
> sum+=mul%10;
> }
> }
> carry+=sum/10;
> c[i]=(char)sum%10;
> }
> if(carry)
> {clen++;c[clen-1]=(char)carry;}
> //字符串乘法结束
>
> temp=a;a=c;c=temp;
> alen=clen;
> }
>
> //输出
> flag=0;
> for(i=0;i<blen;i++)
> if(b[i]!=0)
> flag=1;
>
> if(n==0 && flag==1)
> printf("1");
> else
>
> if(point<0)
> {
> for(i=alen-1;i>=0;i--)
> {printf("%c",a[i]+48);}
> }
> else
> {
> k=0;
> while(a[k]==0 && k<alen)
> k++;
>
> j=alen-1;
> while(a[j]==0 && j>=0)
> j--;
>
> if(j<point)
> {
> if(k!=alen)
> {
> printf(".");
> for(i=point-1;i>=k;i--)
> {printf("%c",a[i]+48);}
> }
> else
> printf("%c",48);
> }
>
> else if(j!=point)
> {
> if(k<point)
> {
> for(i=j;i>=k;i--)
> {
> printf("%c",a[i]+48);
> if(i==point)
> printf(".");
> }
> }
> else
> {
> for(i=j;i>=point;i--)
> {printf("%c",a[i]+48);}
> }
> }
> else
> {
> for(i=j;i>=k;i--)
> {printf("%c",a[i]+48);}
> }
> }
> printf("\n");
>
> }
> }
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator