代码如上图
思路
定义字符串储存输入数据,以逆序传入数组。
可依据上图得出:
a3[i+j-1]+=a1[i]*a2[j];
并进位,最后以逆序输出
NEW:
#include<bits/stdc++.h>
using namespace std;
int main(){
string s1,s2;
int a1[110]={0};
int a2[110]={0};
int a3[110]={0};
cin>>s1>>s2;
for(int i=0;i<s1.size();i++){
a1[s1.size()-i]=s1[i]-'0';
}
for(int i=0;i<s2.size();i++){
a2[s1.size()-i]=s1[i]-'0';
}
for(int i=1;i<=s1.size();i++){
for(int j=1;j<=s2.size();j++){
a3[i+j-1]=a1[i]*a2[j];
a3[i+j]+=a3[i+j-1]/10;
a3[i+j-1]%=10;
}
}
int len=s1.size()+s2.size();
if(a3[len]!=0){
len++;
}
for(int i=len-1;i>0;i--){
cout<<a3[i];
}
}