大数乘法运算(C语言)

大数乘法运算

<mark>利用乘法法则,相乘,然后进位,取余</mark>
详细过程-如图

源代码

#include<stdio.h>
#include<string.h>
#define N 100
int main()
{
	int i,j,L[N];
	char m[N],n[N];
	scanf("%s %s",m,n);
	int len1=strlen(m);
	int len2=strlen(n);
	memset(L,0,sizeof(L));//初始化为0
	//第一步
	for(i=0;i<len1;i++)
		for(j=0;j<len2;j++)
			L[i+j]+=(m[len1-i-1]-'0')*(n[len2-j-1]-'0');//乘运算
	//第二步
	for(i=0;i<len1+len2;i++)
		if(L[i]>=10)
		{
			L[i+1]+=L[i]/10;//进位
			L[i]%=10;//取余
		}
	//第三步
	while(L[i]==0)//去零
		i--;
	//输出答案
	while(i>=0)
		printf("%d",L[i--]);
	return 0;
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 12:19
点赞 评论 收藏
分享
斑驳不同:还为啥暴躁 假的不骂你骂谁啊
点赞 评论 收藏
分享
牛客263158796号:我领羊一面后十天不挂也不推进 今天问hr说等前序的第一批意向发完看情况再看是否推进
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务