站到冰箱上装高冷 2020-12-02 20:20 采纳率: 0%
浏览 183

C语言 数组:数字过滤

题目:给定一批整数,经每个整数中各位上为偶数的数字去掉,在顺次排列得到一个新的整数。并输出。

 

例如一个整数15236,转换后为153

输入

每行一个待转换的整数,最后一个-1表示结束。

(-1不用转换)

输出

n行,转换后的整数。

  • 写回答

2条回答 默认 最新

  • 追逐时代的脚步 2020-12-02 22:09
    关注

    int convert(int n)
    {
        if (n <= 0)
        {
            return 0;
        }
        int retval = 0;//返回的结果
        int tmp = 0;//存储临时数据的变量
        int times = 1;//递增系数,每次乘以10;因为第一个之是个位数,所以默认为1
        while (n > 0)
        {
            tmp = n % 2;
            if (tmp != 0)
            {
                tmp = n % 10;
                retval += times * tmp;
                times *= 10;
            }
            n = n / 10;
        }
        return retval;
    }
    int main()
    {
        printf("%d", convert(123456789));
    }

    上面的是转换函数,其它的读取数据的功能根据自己的具体需求实现

    评论

报告相同问题?