怎么在c++中实现字符串的乘法运算

  介绍

本篇文章为大家展示了怎么在c++中实现字符串的乘法运算,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

<强>项目要点

1。大数指的是远超长长的int的数据

2。将大数用矩阵进行存储,并通过矩阵实现运算

3。本人采用字符串进行存储,应注意char的特点

比如:char=161;

cout<& lt; (int);

此时会输出-95年,而不是161字符类型首个比特位是作为正负号的

乘法,此处为整数乘法,正整数,负整数,0均可,主要思想就是乘法的笔算方法

运行截图及代码如下:

怎么在c++中实现字符串的乘法运算

# include   # include   # include   using  namespace 性传播疾病;   # define  n  10   string  dezero (string )//用来去掉正数前面的0,也就是说可以输入000001类似这样的数字   {   ,long  int 我;   ,(i=0; i< a.length();我+ +)   ,{   ,如果(a.at (i)在48),打破;   ,}   ,如果(我==a.length ()), return “0”;   ,a.erase (0, 1);   ,return ;   }   string 乘(string  string  b)//整数   {   ,long  int  i, j, k,姚明=0,凯;   ,string  c1, c2;   ,string  c3=a + b;   ,如果(a.at (0)==& # 39; & # 39;)   ,{   ,a.erase (0,1);   ,姚明+ +;   ,}   ,如果(在(0)==& # 39;& # 39;)   ,{   ,b.erase (0,1);   ,姚明+ +;   ,}   ,=dezero ();   ,b=dezero (b);   ,如果(a.at(0)==48 | |在(0)==48),return “0”;   ,如果(a.length()在b.length ())   ,{   ,c1=一个;   ,c2=b;   ,}   其他的,   ,{   ,c1=b;   ,c2=一个;   ,}   ,反向(c1.begin (), c1.end ());   ,反向(c2.begin (), c2.end ());   ,(i=0; i< c2.length();我+ +)   ,{   ,如果(c2.at (i)在=48,,c2.at(我)& lt;=57), c2.at (i) -=48;   ,如果(c2.at (i)在=97,,c2.at(我)& lt;=122), c2.at (i) -=87;   ,}   ,(i=0; i< c1.length();我+ +)   ,{   ,如果(c1.at (i)在=48,,c1.at(我)& lt;=57), c1.at (i) -=48;   ,如果(c1.at (i)在=97,,c1.at(我)& lt;=122), c1.at (i) -=87;   ,}   ,(i=0; i< c3.length();我+ +),c3.at (i)=0;   ,(i=0; i< c2.length();我+ +)   ,{   ,(j=0; j< c1.length (); j + +)   ,{   ,凯=c2.at(我)* c1.at (j);   ,c3.at (i + j + 1) +=kai/n;   ,c3.at (i + j) +=kai % n;   ,(k=i + j, k=0;我——)   ,{   ,如果(c3.at (i)在0),打破;   ,}   ,c3.erase (i + 1, c3.length ());   ,(i=0; i< c3.length();我+ +)   ,{   ,如果(c3.at (i)在=10),c3.at (i) +=87;   ,如果(c3.at(我)& lt; 10), c3.at(我)+=48;   ,}   ,反向(c3.begin (), c3.end ());   ,如果姚明==1),c3=安澄?+ c3;   ,return  c3;   }   int  main ()   {   ,string  a、b;   ,而(cout<& lt;“输入:“和,cin>祝辞a>在b)   ,{   ,cout<& lt;“输出:“& lt; & lt;乘(a, b) & lt; & lt; endl;   ,}   ,return  0;   }

上述内容就是怎么在c++中实现字符串的乘法运算,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

怎么在c++中实现字符串的乘法运算