一个整数,将该数中所包含的奇数数字依次取出,构成一个新数卖以2并严格按样例格式输出。注育新数的高位是原数的低位。
运行示例1:
输:87653142
输出: 1357$2=2714
说明:输入的正整数中1,3,5,7是奇数,枃成新数1357后并乘以2输出2714.。
运行示例2:
输%:-123456
输上:-531=-1062
说明:输六的负整数中5,3,1是奇数,构成新数仍为负整数-531后并乘以2输出-1062。输出不要加换行符。
int main(void)
{
long long m, n, t;
char a[32] = {0};
char b[32] = {0};
printf ("Please input the integer:\n");
scanf ("%lld", &m);
t = llabs(m);
sprintf (a, "%lld", t);
int l = strlen(a);
if (l<1){ printf ("input m invalid\n");
return -1;
}
int i = 0, j = 0;
for (i=l-1; i>=0; i--){
if (a[i]%2){
b[j++] = a[i];
}
}
n = atoll(b);
n *= ((m>=0) ? 2 : -2); printf ("n=%lld\n", n);
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话: