#include <string>
#include<ctype.h>
using namespace std;
int main(){
string s="124j3a.n2-'ad2'&1#vvg6";
string a="";
int digit,sum(0),temp;
for(char c:s){
if(isdigit(c)){
a =c;
}
}
digit=stoi(a);
while (digit>0)
{
temp=digit%10;
sum =temp;
digit/=10;
}
cout<<sum;
return 0;
}
所以在這種情況下,輸出和將為 21 (1 2 4 3 2 2 1 6)
我已經撰寫了這個解決方案并且代碼運行良好,但是有沒有更好的方法來找到 string s 中存在的所有整數的總和。
uj5u.com熱心網友回復:
您可以利用這樣一個事實,即通過'0'從中減去,可以輕松地將包含數字的單個字符轉換為整數值。
int sum{0};
for (char c : s) {
if (isdigit(c)) {
sum = c - '0';
}
}
uj5u.com熱心網友回復:
您可以立即將找到的數字相加,而不是將您找到的每個數字附加到一個字串并在之后計算它。
for (char c : s) {
if (isdigit(c)) {
// sum = stoi(c);
sum = c - '0';
}
}
cout << sum;
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/377651.html
下一篇:如何洗掉模板文字中的額外空間?
