| ||||||||||
| 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 | |||||||||
Re:求大神指导。。我的执行结果怎么总是WA啊?什么特殊数据我都测试了 都对啊。。。In Reply To:求大神指导。。我的执行结果怎么总是WA啊?什么特殊数据我都测试了 都对啊。。。 Posted by:herotom at 2012-08-31 15:21:24 > #include <stdio.h>
> int shuru(int A[150],int B[150]){
> int a=0;
> do{
> scanf("%c",&A[a]);
> if (A[a]=='.'){
> B[0]=a;
> a--;
> }
> if(A[a]==' '){
> B[1]=a;
> a--;
> }
> a++;
> }
> while (A[a-1]!='\n');
> return (a-2);
>
> }
> void rightmv(int A[150],int a){
> int m;
> for(m=a;m>=0;m--){
> A[149+m-a]=A[m];
> A[m]=0;
> }
> }
> void chan(int A[150],int B[150],int a){
> int b;
> for(b=149;b>=149-a;b--){
> A[b]=A[b]-48;
> }
> for(b=0;b<=149;b++){
> B[b]=A[b];
> }
> }
> void leftmv(int C[150],int p){
> int z;
> for(z=p;z<=149;z++){
> C[z-p]=C[z];
> }
> for(z=149;z>149-p;z--)
> C[z]=0;
> }
> void cacul(int A[150],int B[150],int i,int j){
> int C[150]={0};
> int D[150]={0};
> int z,x,a,b;
> for(i;i>1;i--){
> for(a=149;a>=0;a--){
> for(b=149;b>=149-j;b--){
> C[b]=A[a]*B[b]+C[b];
> z=C[b]/10;
> C[b]=C[b]%10;
> C[b-1]=C[b-1]+z;
> }
> leftmv(C,149-a);
> for(z=0;z<=149;z++){
> D[z]=C[z]+D[z];
> }
> for(z=149;z>=0;z--){
> if(D[z]>=10){
> x=D[z]/10;
> D[z]=D[z]%10;
> D[z-1]=D[z-1]+x;
> }
> }
> for(z=0;z<=149;z++){
> C[z]=0;
> }
> }
> for(z=0;z<=149;z++){
> A[z]=D[z];
> D[z]=0;
> }
>
> }
>
> }
> int quling1(int A[150],int j){
> int a;
> for(a=150-j;a<=149;a++){
> if(A[a]!=0)
> return 1;
> }
> return 0;
> }
> int quling2(int A[150],int j){
> int a;
> for(a=149;a>=150-j;a--)
> if(A[a]!=0)
> return a;
> }
> void main(){
> int a,i,j,m,n,x,y;
> int A[150]={0};
> int B[150]={0};
> i=shuru(A,B);
> m=B[0];
> n=B[1];
> B[0]=0;
> B[1]=0;
> if (A[n+1]!='\n'){
> i=A[n+1]-48;
> A[n]=A[n]-48;
> i=A[n]*10+i;
> }
> else i=A[n]-48;
> A[n]=0;
> A[n+1]=0;
> rightmv(A,n-1);
> chan(A,B,n-1);
> cacul(A,B,i,n-1);
> if (m!=0){
> j=(n-m)*i;
> for (a=10;a<=149;a++){
> if (A[a]==0)
> continue;
> break;
> }
> for(a;a<=149-j;a++)
> printf("%d",A[a]);
> x=quling1(A,j);
> y=quling2(A,j);
> if (x==1){
> printf(".");
> for(a=150-j;a<=y;a++)
> printf("%d",A[a]);
> }
> }
> if(m==0){
> for (a=10;a<=149;a++){
> if (A[a]==0)
> continue;
> break;
> }
> for(a;a<=149;a++)
> printf("%d",A[a]);
>
> }
> }
>
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator