欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++使用string的大數(shù)加法運算(1)

 更新時間:2020年05月27日 11:58:28   作者:好想告訴你wt  
這篇文章主要為大家詳細介紹了C++使用string的大數(shù)加法運算,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本次項目目標:使用C++完成對于大數(shù)的加法運算,供大家參考,具體內容如下

項目要點

1.大數(shù)指的是遠超long long int的數(shù)據(jù)

2.將大數(shù)用矩陣進行存儲,并通過矩陣實現(xiàn)運算

3.本人采用字符串進行存儲,應注意char的特點

比如:

char a=161;

cout<<(int)a;

此時會輸出-95,而不是161,char類型首個比特位是作為正負號的

加法,此處只做自然數(shù)加法,因為存在負整數(shù)的話可以使用自然數(shù)減法來處理

運行截圖及代碼如下:

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
#define n 10
string dezero(string a)//用來去掉正數(shù)前面的0,也就是說可以輸入000001類似這樣的數(shù)字
{
 long int i;
 for(i=0;i<a.length();i++)
 {
 if(a.at(i)>48) break;
 }
 if(i==a.length()) return "0";
 a.erase(0,i);
 return a;
}
string add(string a,string b)//自然數(shù)加法
{
 a=dezero(a);
 b=dezero(b);
 string c;
 string d="0";
 long int kmin,kmax,i;
 reverse(a.begin(),a.end());
 reverse(b.begin(),b.end());
 if(a.length()>b.length()) {kmin=b.length();kmax=a.length();c=a;}
 else {kmin=a.length();kmax=b.length();c=b;}
 c.insert(c.length(),d);
 for(i=0;i<kmin;i++)
 {
 if(a.at(i)>=48&&a.at(i)<=57) a.at(i)-=48;
 if(a.at(i)>=97&&a.at(i)<=122) a.at(i)-=87;
 if(b.at(i)>=48&&b.at(i)<=57) b.at(i)-=48;
 if(b.at(i)>=97&&b.at(i)<=122) b.at(i)-=87;
 c.at(i)=a.at(i)+b.at(i);
 }
 for(i=kmin;i<kmax+1;i++)
 {
 if(c.at(i)>=48&&c.at(i)<=57) c.at(i)-=48;
 if(c.at(i)>=97&&c.at(i)<=122) c.at(i)-=87;
 }
 for(i=0;i<kmax;i++)
 {
 if(c.at(i)>=n) 
 {
 c.at(i+1)+=c.at(i)/n;
 c.at(i)=c.at(i)%n;
 }
 }
 if(c.at(kmax)==0) 
 {
 c.erase(kmax,kmax+1);
 }
 for(i=0;i<c.length();i++)
 {
 if(c.at(i)>=10) c.at(i)+=87;
 if(c.at(i)<10) c.at(i)+=48;
 }
 reverse(c.begin(),c.end());
 return c;
}
int main()
{
 string a,b;
 while(cin>>a>>b)
 {
 cout<<add(a,b);
 }
 return 0;
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Windows上CLion的配置步驟詳解

    Windows上CLion的配置步驟詳解

    這篇文章主要介紹了Windows上CLion的配置,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • C語言淺析函數(shù)的用法

    C語言淺析函數(shù)的用法

    C語言函數(shù)是用來模塊化構建程序的。如果你的功能少,你可以全都寫在mian函數(shù)中,但是當實現(xiàn)功能多的時候,如果全寫在main的函數(shù)里,不僅代碼不美觀,而且函數(shù)實現(xiàn)的時候結構復雜,代碼重復
    2022-07-07
  • C/C++項目編譯工具簡單介紹

    C/C++項目編譯工具簡單介紹

    我們給大家?guī)砹艘黄P于C/C++項目編譯工具簡單介紹的文章,大家在項目編譯前可以先閱讀下。
    2019-12-12
  • C語言中結構體偏移及結構體成員變量訪問方式的問題討論

    C語言中結構體偏移及結構體成員變量訪問方式的問題討論

    這篇文章主要介紹了C語言中結構體偏移及結構體成員變量訪問方式的問題討論,幫助大家理解struct的成員變量偏移,需要的朋友可以參考下
    2016-05-05
  • 一起來看看C語言線性表的線性鏈表

    一起來看看C語言線性表的線性鏈表

    這篇文章主要為大家詳細介紹了C語言線性表的線性鏈表,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • C語言超詳細講解getchar函數(shù)的使用

    C語言超詳細講解getchar函數(shù)的使用

    C 庫函數(shù) int getchar(void) 從標準輸入 stdin 獲取一個字符(一個無符號字符)。這等同于 getc 帶有 stdin 作為參數(shù),下面讓我們詳細來看看
    2022-05-05
  • c語言之如何求e的近似值

    c語言之如何求e的近似值

    這篇文章主要介紹了c語言之如何求e的近似值問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • C++中繼承基類與派生類的區(qū)別

    C++中繼承基類與派生類的區(qū)別

    這篇文章主要介紹了C++中繼承基類與派生類的區(qū)別,面向對象程序設計中最重要的一個概念是繼承。繼承允許我們依據(jù)另一個類來定義一個類,這使得創(chuàng)建和維護一個應用程序變得更容易,需要的朋友可以參考下
    2023-05-05
  • C++如何將二叉搜索樹轉換成雙向循環(huán)鏈表(雙指針或數(shù)組)

    C++如何將二叉搜索樹轉換成雙向循環(huán)鏈表(雙指針或數(shù)組)

    這篇文章主要介紹了C++如何將二叉搜索樹轉換成雙向循環(huán)鏈表(雙指針或數(shù)組),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • C#和C++編程語言中的類淺析

    C#和C++編程語言中的類淺析

    在本篇文章里我們給大家分析了C#和C++編程語言中的類的相關知識點,正在學習的朋友們跟著操作下。
    2019-02-02

最新評論