帮我看看这道C++题目的错在哪里?
#include<iostream>#include<string>usingnamespacestd;#defineMax100inta[Max],b[Max],c[M...
#include<iostream>
#include<string>
using namespace std;
#define Max 100
int a[Max],b[Max],c[Max];
int main()
{
int a1,bl,i,j;
string s1,s2;
cout<<"请输入两个整数:";
cin>>s1>>s2;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
a1=s1.length();bl=s2.length();
for(i=a1-1,j=0;i>=0;i--,j++)
a[j]=s1[i]-48;
for(i=bl-1,j=0;i>=0;i--,j++)
b[j]=s2[i]-48;
cout<<" a=";
for(i=Max-1;a[i]==0;i--);
for(;i>=0;i--)
cout<<a[i];
cout<<"\n b=";
for(i=Max-1;b[i]==0;i--);
for(;i>=0;i--)
cout<<b[i];
cout<<endl;
int n,t;
for(i=0;i<bl;i++)
{
n=0;
for(j=0;j<a1;j++)
{c[i+j]=c[i+j]+(a[j])*(b[i])+n;
n=c[i+j]/10;
c[i+j]=c[i+j]%10;
}
c[i+j+1]=n;
}
cout<<"a*b=";
for(i=Max-1;c[i]==0;i--);
for(;i>=0;i--)cout<<c[i];
cout<<endl;
system("PAUSE");
return 0;
}
你点图片 展开
#include<string>
using namespace std;
#define Max 100
int a[Max],b[Max],c[Max];
int main()
{
int a1,bl,i,j;
string s1,s2;
cout<<"请输入两个整数:";
cin>>s1>>s2;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
a1=s1.length();bl=s2.length();
for(i=a1-1,j=0;i>=0;i--,j++)
a[j]=s1[i]-48;
for(i=bl-1,j=0;i>=0;i--,j++)
b[j]=s2[i]-48;
cout<<" a=";
for(i=Max-1;a[i]==0;i--);
for(;i>=0;i--)
cout<<a[i];
cout<<"\n b=";
for(i=Max-1;b[i]==0;i--);
for(;i>=0;i--)
cout<<b[i];
cout<<endl;
int n,t;
for(i=0;i<bl;i++)
{
n=0;
for(j=0;j<a1;j++)
{c[i+j]=c[i+j]+(a[j])*(b[i])+n;
n=c[i+j]/10;
c[i+j]=c[i+j]%10;
}
c[i+j+1]=n;
}
cout<<"a*b=";
for(i=Max-1;c[i]==0;i--);
for(;i>=0;i--)cout<<c[i];
cout<<endl;
system("PAUSE");
return 0;
}
你点图片 展开
5个回答
展开全部
就是做一个相乘的运算。 cin的时候为什么要用字符串呢, 直接int类型就好了啊。如果是想判断合法性的话,你这也太复杂了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很给力的大数运算程序,想楼上学习
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这是要做大数相乘吗?
追问
是的吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询