模拟数组(两位数乘法)
模拟数组(两位数乘法)
最新推荐文章于 2023-01-16 14:18:24 发布
![](http://img.mcbbbk.com/upload/news/2024/1026/photos/middle/20241026080103_edki_pt2idrjs.jpg)
千与千寻.i 于 2019-01-27 23:33:04 发布
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
#include<bits/stdc++.h>
using namespace std;
int fx(int A,int B)
{
char a[100000]={0},b[100000]={0},s[1000000]={0};
int jw=0;
int k=0;
while(A>0) //将整数A中的各个位数字逆序存入字符数组a中
{
a[k]=A%10+'0';
A=A/10;
k++;
}
k=0;
while(B>0) //将整数B中的各个位数字逆序存入字符数组b中
{
b[k]=B%10+'0';
B=B/10;
k++;
}
//printf("%s n%sn",a,b);
memset(s,48,1000);//把数组从开始端变成48,共一千个
int si;
for(int i=0;i<strlen(a);i++) //利用双层循环将a,b相乘结果存入s数组中
{ si=i;
for(int j=0;j<strlen(b);j++)
{
int x=s[si]-'0';//因为第一次jw要+s[si]的时候 s[si]=0;
s[si]=((a[i]-'0')*(b[j]-'0')+jw+x)%10+'0';
jw=((a[i]-'0')*(b[j]-'0')+x+jw)/10;
si++;
}
while(jw>0) //当a[i]将b[j]中所有元素乘了一遍之后,若jw>0则直接将它存入下一个s[i]中
{ s[si]=jw%10+s[si];si++;jw/=10;}
}
for(int i=si-1;i>=0;i--)
printf("%c",s[i]); //将A,B相乘的结果输出
printf("n");
}
int main()
{
int A,B;
while(scanf("%d %d",&A,&B)!=EOF)
{
fx(A,B);
}
return 0;
}
相关知识
模拟数组(两位数乘法)
任意两位数乘两位数速算方法:78×34=?你会速算吗#学浪计划
数组的练习
PHP第六天 数组的遍历
#乘法口诀 背完了,还要会熟练运用,做做同步练习题#一升二 #二年级数学 #表内乘法 #表内除法 #专项训练
第五十五题:将一个数组逆序输出。
使用字节数组创建String后通过getBytes()得到的数组与创建时不同
Python Leetcode(905.按奇偶排序数组)
杨辉三角形的之java二维数组的应用
宠物课堂中的学问
网址: 模拟数组(两位数乘法) https://m.mcbbbk.com/newsview472722.html