偶数的和(普及组)求解

题目描述

有一天,定义哥收到一张奇怪的信,信上要他计算出给定数各个位上数字为偶数的和。

例如:5548,结果为12,等于4 + 8。

定义哥很苦恼,想请你帮忙解决这个问题。

输入

一行,只有一个整数,保证数字在32位整型范围内。

输出

输出一行,偶数和。

输入样例:3262
输出样例:10

首先他说这是32位,所以不能用数字做,所以用字符串

#include<bits/stdc++.h>
using namespace std;
int main()
{
    string s;
    cin>>s;
    int len=s.length();
    long long sum=0;
    for(int i=0;i<len;i++)
    {
        if((s[i]-'0')%2==0) sum+=s[i]-'0';
    }
    cout<<sum;
}

供参考:

#include<stdio.h>

int main()
{
    int n,s=0;
    scanf("%d",&n);
    while(n){
           if(n%10%2 == 0) s += n%10;
           n /=10;
    }
    printf("%d\n",s);
    return 0;
}