注册 登录
编程论坛 C++教室

这个程序有问题吗?我看不出啊

有味 发布于 2010-04-15 22:24, 483 次点击
程序代码:
#include<iostream>
using namespace std;

const int size=111;
char a[size],b[size];
int main(){int i,j,k;
    while(cin>>a>>b){
           int s1=strlen(a);
           int s2=strlen(b);
           int c[size]={0},d[size]={0};
                   for(k=0,j=0;k<s1;k++)
              c[j++]=a[s1-1-k]-'0';
           for(k=0,j=0;k<s2;k++)
              d[j++]=b[s2-1-k]-'0';
              int ans[222]={0};
      
        for(i=0;i<s2;i++)   
          for(j=0;j<s1;j++){
               ans[i+j]+=c[j]*d[i];
                     }
            
          for(i=0;i<222;i++){
             if(ans[i]>=10){
                ans[i+1]+=ans[i]/10;
              ans[i]=ans[i]%10;
                }   
                    }
     
     int l=0;
     while(ans[size-1-l]==0&&size-1-l>0)l++;
     for(i=size-1-l;i>=0;i--)cout<<ans[i];
          cout<<endl;
    }
    return 0;
    }
这是高精度的问题 ,找不错误啊!各位帮帮忙
5 回复
#2
南国利剑2010-04-16 00:24
你的代码没有什么问题

能够编译和链接都没有问题。
不过,那个【size】是什么意思啊?????
请赐教!!!谢谢
#3
有味2010-04-16 10:40
回复 2楼 南国利剑
是定义的数组长度。
#4
wow512010-04-18 11:55
编译运行了一下 你的代码没有错误 不过写的看起来让人读的很费力
你还是把题目给出来吧!
#5
南国利剑2010-04-18 21:54
回复 3楼 有味
哦,看出来了。
这个是要实现什么的呀?
能不能把题目给出来,给出的程序确实有点难懂
#6
有味2010-04-19 12:14
回复 5楼 南国利剑
题目就是计算A*B(用高精度做)
1