用C++写两个长整型相乘 输出结果 送上20谢谢了

来源:百度知道 编辑:UC知道 时间:2024/06/17 12:48:37
麻烦大家多写点要求50行左右 有溢出情况啊 C或者C++都可以 我再加20分 谢谢

#include<iostream.h>
#include<math.h>
int main()
{
long x,y,result;
try
{
cout<<"输入两个数:"<<endl;
cin>>x>>y;
result=x*y;
if(abs(result)>e+7)
throw(result);
cout<<"两数的乘积为:"<<result<<endl;
}
catch(long t)
{
cout<<x<<"*"<<y<<"发生异常"<<endl;
}
return 0;
}

大的整数相乘很容易溢出
lz说的就是这个问题吧?

建议使用其他的库
比如lip
参见http://www.win.tue.nl/~klenstra/
用法如下:
#include "lip.h"

int main() {
verylong x=0, y=0, z=0;

zread(&x);
zread(&y);
zadd(x, y, &z);
zwrite(z);
return 0;
}

#include <stdio.h>
void main()
{
long x,y;
double result;
clrscr();
printf("x=?\