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 |
c语言的源代码#include<stdio.h> #include<string.h> void rmpoint(char a[],int* c) { int i,j,p,c1; c1=0; char b[205]; p=strlen(a); for(i=0,j=0;i<p;i++) { if(a[i]=='.') { c1=p-1-i; continue; } a[j]=a[i]; j++; } *c=c1; a[j]=0; } void chen(char a[],char b[]) { int c[410]={0}; int i,j,sum,k,k1; k=409; k1=409; for(i=strlen(a)-1;i>=0;i--) { for(j=strlen(b)-1;j>=0;j--,k--) { sum=(a[i]-'0')*(b[j]-'0')+c[k]; c[k-1]=c[k-1]+sum/10; c[k]=sum%10; } k=--k1; } for(i=0;i<410;i++) if(c[i]!=0) break; for(j=i,i=0;j<410;j++,i++) b[i]=c[j]+'0'; b[i]=0; } void addpoint(char a[],char b[],int p) { int i,j,p1,p2,j1,min; p2=0; p1=strlen(a); if(p1>=p) { p=p1-p; for(i=p1-1;i>=0;i--) { if(a[i]!='0') break; p2++; } if(p1-p2<p) min=p; else min=p1-p2; for(i=0,j=0;i<min;i++,j++) { if(p==i) { b[j]='.'; i--; p--; continue; } b[j]=a[i]; } b[j]=0; } else { b[0]='.'; p=p-p1; for(i=p1-1,j1=0;p1>=0;i--) { if(a[i]!='0') break; j1++; } for(i=1,j=0;j<p;j++,i++) b[i]='0'; for(j=0;j<p1-j1;i++,j++) b[i]=a[j]; b[i]=0; } } int main() { char n1[7],n2[410],n3[410]; int a,p,i; while(scanf("%s %d",n1,&a)==2) { rmpoint(n1,&p); strcpy(n2,n1); for(i=0;i<a-1;i++) { chen(n1,n2); } p=p*a; if(p!=0) addpoint(n2,n3,p); printf("%s\n",n3); } /*p=strlen(n3); for(a=0;a<p;a++) printf("%c",n3[a]); }*/ return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator