问题: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;
}