c++大一程序设计的一道题

题目描述
给定一个正整数,将该整数中各位上为偶数的数字去掉,再顺次排列,得到一个新的正整数。输入数据保证有奇数存在。

输入
一个正整数。

输出
一个新的正整数。

样例输入
15236
样例输出
153


#include <iostream>
#include <string>
using namespace std;

int main(){
    string str;
    cin >> str;
    for(int i=0; i<str.size(); i++)
        if((str[i] - '0') & 1)
            cout << str[i];
    cout << endl;
    return 0;
}

#include <stdio.h>

int res(int r)
{
int s = 0;

int i = 1;
while (r != 0)
{
    if (r % 2 == 0)
    {
     r = r / 10;
     continue;
    }

    s += r % 10 *  i; 
    r = r / 10;
    i *= 10;
}

return s;

}
int main()
{
// printf("hello world!!");

int a = 15263;

//scanf("%d", &a);
printf("%d", res(a));
getchar();
getchar();
}