C语言:分解整数 - 计算位数、逆序输出

任务描述:

编写一个C程序,该程序可以接收一个不超过 5 位的整数作为输入,并执行以下操作:

  1. 计算该整数的位数。2. 逐位输出该整数的每个数字。3. 逆序输出该整数的每个数字。

**代码示例:**c#include <stdio.h>

int main() { int num; scanf('%d', &num);

int digit_count = 0;    int num_copy = num;        // 计算位数    while (num_copy != 0) {        num_copy /= 10;        digit_count++;    }        // 输出位数    printf('%d

', digit_count);

// 分别输出每一位数字    num_copy = num;    while (num_copy != 0) {        int digit = num_copy % 10;        printf('%d ', digit);        num_copy /= 10;    }    printf('

');

// 按逆序输出每一位数字    num_copy = num;    while (num_copy != 0) {        int digit = num_copy % 10;        printf('%d', digit);        num_copy /= 10;    }    printf('

');

return 0;}

代码解释:

  1. 读取输入: - scanf('%d', &num); 从标准输入读取一个整数并将其存储在变量 num 中。

  2. 计算位数: - 使用一个循环重复将 num_copy 除以 10,直到它变为 0。 - 每次循环迭代都会将 digit_count 加 1,从而计算出整数的位数。

  3. 逐位输出: - 使用另一个循环,每次迭代都计算 num_copy 的个位数 (num_copy % 10) 并将其输出。 - 然后将 num_copy 除以 10,以便在下一次迭代中处理下一个数字。

  4. 逆序输出: - 与逐位输出类似,但这次在每次循环迭代中,我们直接输出计算出的个位数,而不进行除法运算。 - 这样就能实现逆序输出整数的每个数字。

示例输入:

12345

示例输出:

51 2 3 4 554321

C语言:分解整数 - 计算位数、逆序输出

原文地址: http://www.cveoy.top/t/topic/cPs8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录