PTA 7-212 sdut-C语言实验-偶数数位求和
分数 12
作者 马新娟
单位 山东理工大学
给定一个整数,请求出这个整数所有数位中是偶数的数位的和。例如,对于12436546,那么答案就是 2 + 4 + 6 + 4 + 6 。
输入格式:
输入一个数 n 。 (0 <= n <= 2147483647)
输出格式:
输出 n 的所有偶数数位的和。
输入样例:
6768
输出样例:
在这里给出相应的输出。例如:
20
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include <stdio.h>
int main(){
int integer, _integer;
int sum = 0;
scanf("%d", &integer);
while(integer > 0){ //循环开始
_integer = integer; //赋值
_integer %= 10; //取当前整数的最后一位
if(_integer % 2 == 0) //当这最后一位数是偶数是
sum += _integer; //求和
integer /= 10; //缩小10倍
}
printf("%d", sum); //输出偶数数位总和
return 0;
}
解题思路:
step1:求余,取当前数的最后一位
step2:若该余数是偶数,则加入总和sum
step3:将该数缩小10倍
step4:直到输入的整数的最高位判断完是否偶数时(即整数为0时)循环结束
归属知识点:
循环结构