C语言--正序、逆序输出为奇数的位。

题目:

采用正序和逆序分别输出为奇数的位。例如输入12345,正序输出135,逆序输出531

代码:

c 复制代码
#include <stdio.h>

void printOddDigits(int num) {
    int res = 0;
    int divider = 10;
    while (num / divider >= 10) {
        divider *= 10;
    }
    while (divider > 0) {
        int digit = num / divider;
        if (digit % 2 != 0) {
            res = res * 10 + digit;
        }
        num = num % divider;
        divider /= 10;
    }
    printf("%d\n", res);
}

void printReverseOddDigits(int num) {
    int res = 0;
    while (num > 0) {
        int digit = num % 10;
        if (digit % 2 != 0) {
            res = res * 10 + digit;
        }
        num /= 10;
    }
    printf("%d\n", res);
}

int main() {
    int num;
    scanf("%d", &num);
    printOddDigits(num);
    printReverseOddDigits(num);
    return 0;
}

结果

相关推荐
向阳@向远方32 分钟前
第二章 简单程序设计
开发语言·c++·算法
JeffersonZU42 分钟前
Linux/Unix进程概念及基本操作(PID、内存布局、虚拟内存、环境变量、fork、exit、wait、exec、system)
linux·c语言·unix·gnu
github_czy1 小时前
RRF (Reciprocal Rank Fusion) 排序算法详解
算法·排序算法
许愿与你永世安宁2 小时前
力扣343 整数拆分
数据结构·算法·leetcode
爱coding的橙子2 小时前
每日算法刷题Day42 7.5:leetcode前缀和3道题,用时2h
算法·leetcode·职场和发展
ruanjiananquan992 小时前
c,c++语言的栈内存、堆内存及任意读写内存
java·c语言·c++
满分观察网友z2 小时前
从一次手滑,我洞悉了用户输入的所有可能性(3330. 找到初始输入字符串 I)
算法
持梦远方3 小时前
C 语言基础入门:基本数据类型与运算符详解
c语言·开发语言·c++
YuTaoShao3 小时前
【LeetCode 热题 100】73. 矩阵置零——(解法二)空间复杂度 O(1)
java·算法·leetcode·矩阵
Heartoxx3 小时前
c语言-指针(数组)练习2
c语言·数据结构·算法