#include <stdio.h> int main() { long n = 0;//输入 scanf("%ld",&n); int num = 1;//保证为一位基数时对m进行更改 long m = 0;//最终数 while(n)//n会从个位不断开始减少 { int a =n%10;//确定个位为基数还是偶数 if(a%2==0)//为偶 { m+=0;//如果为偶M的值则不变 } else {//为基数 m+=num;//如果为基数,因为num与次数一起变化,可以很好满足为基数时M的改变 } num*=10;//num随n的位数不断增加 n/=10;//从个位开始不断减少,例如:123,先是个位消失变成12,在继续个位消失变成1,最终变成0 } printf("%d",m); return 0; }