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 |
为什么我的程序结果总是显示出错呢?我运行的结果好像没错啊#include <iostream> #include <string> using namespace std; int length_a; int length_b; int length_c=0; int length_p=0; char * MultiNum(char * a,char * b); void ExpNum(char *a,int n); char * MultiNum(char * a,char * b) { char s1[1000]; int i,j,k=0; int flag=0; char c; int length_pa;//保存a的小数点的位数 length_a=strlen(a); length_b=strlen(b); for(i=0;i<1000;i++) { s1[i]='0'; } for (i=0;i<length_a;i++) { if(a[i]=='.') { length_a=length_a-1; length_p=length_a-i; length_pa=length_p; while(i<length_a) { a[i]=a[i+1]; i++; } a[i]='\0'; } } for (i=0;i<length_b;i++) { if(b[i]=='.') { length_b=length_b-1; length_p=length_b-i+length_pa; while(i<length_b) { b[i]=b[i+1]; i++; } b[i]='\0'; } } for (i=0;i<length_a;i++) { k=i; flag=0; for (j=0;j<length_b;j++) { c=(a[length_a-i-1]-48)*(b[length_b-j-1]-48)+flag+s1[i+j]-48; if (c>=0&&c<10) { s1[k++]=c+48; flag=0; } if (c>=10) { flag=c/10; c=c%10; s1[k++]=c+48; } } if(flag>0) s1[k++]=flag+48; } s1[k]='\0'; length_c=k; char *s2=new char[length_c+1]; if(length_p!=0)//计算结束后,加上小数点 { for(i=0;i<length_c-length_p;i++) { s1[length_c-i]=s1[length_c-i-1]; } s1[length_p]='.'; for(i=0;i<=length_c;i++) { s2[i]=s1[length_c-i]; } } else for(i=0;i<length_c;i++) { s2[i]=s1[length_c-i-1]; } s2[i]='\0'; if(length_pa!=0)//还原数组a的值 { for(i=0;i<length_pa;i++) { a[length_a-i]=a[length_a-i-1]; } a[length_a-length_pa]='.'; } return s2; } void ExpNum(char *a,int n) { int i=0 ; char *c=new char[10000]; c[0]='1'; c[1]=0; if (n>0) { for (int i=0;i<n;i++) { c= MultiNum(a,c); } } if(c[0]=='0') { for(i=0;i<length_c;i++) c[i]=c[i+1]; c[i]='\0'; } if(c[length_c]=='0') { i=length_c; while((i>length_c-length_p)&&(c[i]=='0')) { c[i]='\0'; i--; } } cout<<endl<<c<<endl; } int main() { int n; int i=0; char a[6][1000]; while(i<6) { cin>>a[i]; cin>>n; ExpNum(a[i],n); i++; } return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator