一个长度为m和一个长度为n的数相乘,乘积的长度一定小于m+n。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char x[50],y[50],r[100];
int sum,add,t,m,n,i,j;
while(scanf("%s",x)>0)
{
scanf("%s",y);
for(i=0;i<100;i++)//初始化使得r字符串中均为‘0’,不是初始化为空
{
r[i]='0';
}
m=strlen(x);
n=strlen(y);
for(i=m-1;i>=0;--i)
{
add=0;
for(j=n-1;j>=0;--j)
{
t=(x[i]-'0')*(y[j]-'0');//注意t是int类型,不能字符直接相乘
sum=r[i+j+1]+add