今天遇見了一個題,感覺這個題很常見,所以就把它寫下來,下次遇見感覺不太熟練的話,繼續復習一下。


這個題比較簡單,很容易做出來,但是這個題主要有一個關鍵點,那就是類型轉化,主要是我按照自己的思路來寫的方法會涉及到類型轉化,用其他的方法肯定也會是不一樣的。
我的代碼如下:
#include<iostream> #include<cstdlib> using namespace std; int main() { string A,B; while(cin>>A>>B) { long a,b; int i,j,Q=0; for(i=0;i<A.length();i++) { a= int(A[i])-48; for(j=0;j<B.length();j++) { b = int(B[j])-48; Q =Q + a*b; } } cout<<Q<<endl; } return 0; }
對於這種永遠都不知道輸入的數據有多大,有多長的時候,我總是習慣性地用string類型,我覺得那種類型適合各種各樣的數據。ok,言歸正傳。
將string里面的單個字符一一轉化為int類型的時候,可以考慮利用ASCII碼。
例如“5”=int(‘5’)-48;
這種方法適合你需要將其進行一一轉化。
另外一種就是atoi()等一系列方法
● atof():將字符串轉換為雙精度浮點型值。
● atoi():將字符串轉換為整型值。
● atol():將字符串轉換為長整型值。
而這個方法的使用如下:
char a[] ="4563"; int b; b= atoi(a);
得出來的b=4563;
這邊是第二種方法。
下次遇見了繼續學習更新。
