#include <iostream>
#include <stdlib.h>
using namespace std;
void main()
{
char a[50],b[50];//设置保存输入的数据为字符型...便于输入处理
int c[100]; //保存每次的结果...
//int a1[50],b1[50],c1[100];
memset(a,0,50); //a的进行初始化
memset(b,0,50); //a的进行初始化
memset(c,0,100); //a的进行初始化
cout<<"输入乘数与被乘数:"<<endl;
int i = 0,j=0;
int leng1=0,leng2=0;//保存字符串长度
//for(i=0;i<50;i++)
// {
cin>>a;
leng1=strlen(a);
cin>>b;
leng2=strlen(b);
a[leng1]='\0';
b[leng2]='\0';
cout<<endl;
for(i=0;i<leng1;i++)//对a字符串输入的字符进行对应的处理
{
a[i]=a[i]-48;
}
for(i=0;i<leng2;i++)//对b字符串输入的字符进行对应的处理
{
b[i]=b[i]-48;
}
for(i=0;i<leng1;i++) //这个循环是计算的核心...将对应位相乘
{
for(j=0;j<leng2;j++)
{
c[i+j]=c[i+j]+a[j]*b[i];
// printf("%d ",c[i+j]);
}
}
// printf("\n");
//for(i=0;i<=leng1+leng2-2;i++)
// {
// printf("%d ",c[i]);
// }
printf("\n");
for(i=leng1+leng2-2;i>0;i--)//将每一位的进位进到下一位中
{
c[i-1]=c[i-1]+c[i]/10;
c[i]=c[i]%10;
}
int head=0;//对第一个数字进行处理
head=c[0]/10;
c[0]=c[0]%10;
//for(i=0;i<=leng1+leng2-1;i++)
//{
// c[i]=c[i]-48;
//}
printf("%d",head);//输出第一个
for(i=0;i<=leng1+leng2-2;i++)//输出后面所有的数字
{
printf("%d",c[i]);
}
printf("\n");
system("pause");
}
#include <stdlib.h>
using namespace std;
void main()
{
char a[50],b[50];//设置保存输入的数据为字符型...便于输入处理
int c[100]; //保存每次的结果...
//int a1[50],b1[50],c1[100];
memset(a,0,50); //a的进行初始化
memset(b,0,50); //a的进行初始化
memset(c,0,100); //a的进行初始化
cout<<"输入乘数与被乘数:"<<endl;
int i = 0,j=0;
int leng1=0,leng2=0;//保存字符串长度
//for(i=0;i<50;i++)
// {
cin>>a;
leng1=strlen(a);
cin>>b;
leng2=strlen(b);
a[leng1]='\0';
b[leng2]='\0';
cout<<endl;
for(i=0;i<leng1;i++)//对a字符串输入的字符进行对应的处理
{
a[i]=a[i]-48;
}
for(i=0;i<leng2;i++)//对b字符串输入的字符进行对应的处理
{
b[i]=b[i]-48;
}
for(i=0;i<leng1;i++) //这个循环是计算的核心...将对应位相乘
{
for(j=0;j<leng2;j++)
{
c[i+j]=c[i+j]+a[j]*b[i];
// printf("%d ",c[i+j]);
}
}
// printf("\n");
//for(i=0;i<=leng1+leng2-2;i++)
// {
// printf("%d ",c[i]);
// }
printf("\n");
for(i=leng1+leng2-2;i>0;i--)//将每一位的进位进到下一位中
{
c[i-1]=c[i-1]+c[i]/10;
c[i]=c[i]%10;
}
int head=0;//对第一个数字进行处理
head=c[0]/10;
c[0]=c[0]%10;
//for(i=0;i<=leng1+leng2-1;i++)
//{
// c[i]=c[i]-48;
//}
printf("%d",head);//输出第一个
for(i=0;i<=leng1+leng2-2;i++)//输出后面所有的数字
{
printf("%d",c[i]);
}
printf("\n");
system("pause");
}