示例1
输入:
222222
输出:
0
示例2
输入:
123
复制输出:
101
#include<stdio.h> int main() { int a, b, c, i, n; //定义四个变量 int d = 0; scanf("%d", &n); //d来接收输入的数值 a = b = n; // a和b都等于输入的数值 for (i = 1; b != 0; i=i * 10) //i等于1,每次给乘10,因为每次判断个位的值,分别按个位,十位在d中排放,当b等于0时,即n从个位取到最高位时,for语句结束 { c = a % 10; //对10取余就是取各位数字,c等于个位如12345 c=5 b = b / 10; // b是除过个位剩下的数字,列如12345 b=1234 a = b; // a=1234 if (c % 2 == 0) //判断c对2取余是否为0,判断这个数是计数还是偶数 { c = 0; // 若为偶数c等于0, } else c = 1; // 若为奇数c等于1 d= c*i+d; // d等于每次循环的个位数乘i再加它上一次的值 } printf("%d", d); // 打印结果 return 0; }
注意:本题输出是从个位开始将每个位上面判断的数字按位加和,而不是直接加和