| ||||||||||
| 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 | |||||||||
CODE:In Reply To:费解,读串WA,一个个的搞字符就AC了,以前也有道题是这样呢。请教! :> Posted by:Judas at 2005-11-06 20:42:05 #include<iostream>
using namespace std;
#define M 100
int c[M]={0};
void mul(char *a,char *b,int n,int m)
{
memset(c,0,sizeof(c));
int i,j,temp,t,tt;
int num=0;
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
temp=0;
t=(a[n-1-j]-'0')*(b[m-1-i]-'0')+temp;
if(0==t) continue;//加上这句,前面冇0,WA
num=j+i; tt=c[num]+(t); c[num]=tt%10;
if(temp=tt/10) { c[++num]+=temp; temp=0; }
}
}
for(i=num;i>=0;i--) cout<<c[i]; //cout<<endl;
}
int main()
{
char a[41],b[41],ch,i,n,m;
//cin>>a>>b; //这么读,也WA了
for(i=0;i<41;i++)
{
scanf("%c",&ch);
if(ch<'0'||ch>'9') break;
a[i]=ch;
}
n=i;
for(i=0;i<41;i++)
{
scanf("%c",&ch);
if(ch<'0'||ch>'9') break;
b[i]=ch;
}
m=i;
mul(a,b,n,m); //strlen(a),strlen(b)
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator