问题:1389 - 数据分析
类型:简单循环
题目描述:
该方法的操作方式为,如果要传递 2 个数字信息给友军,会直接传递给友军一个整数 n(n 是一个 10 位以内的整数),该整数的长度代表要传递的第一个数字信息,分解出该整数的每一位,如果该位是偶数,那么将这一位加到总和上去,代表要传递的第二个数字信息。
请你编写一个程序,从接收到的数字 n 中获取这 2 个数字信息。
比如:军事单位传递的数字为 12345678 ,则希望向友军传递的 2 个数字就是 8 (共有 8 位)和 20(2+4+6+8=20) 。
输入:
一个整数 n(n≤10^9 ) 。
输出:
两个整数,用空格隔开。
样例:
输入:
12345678
输出:
8 20
完整代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){//一、分析问题//已知:一个整数n;//未知:数字n中的 2 个数字信息。//关系:长度代表要传递的第一个数字信息,各数位上偶数的总和 //二、数据定义 int n,t,one=0,two=0; //t->temp//三、数据输入 cin>>n;//四、数据计算 while(n){t=n%10;if(t%2==0){two+=t;}n/=10;++one; }//五、输出结果 cout<<one <<" "<<two;return 0;
}