c语言任给十进制的正整数,完成以下操作: (1)请按序输出其各位数字。 (2)逆序输出其各位数字。
时间: 2024-10-13 21:02:30 浏览: 9
在C语言中,你可以通过循环结构和位运算来完成这个任务。以下是两个函数分别用于输出正整数的顺序和逆序数字:
```c
#include <stdio.h>
// 函数一:顺序输出各位数字
void printDecimalDigits(int num) {
while (num != 0) {
int digit = num % 10; // 取最后一位数字
printf("%d", digit);
num /= 10; // 移除最后一位并向左移动
}
printf("\n");
}
// 函数二:逆序输出各位数字
void reverseDecimalDigits(int num) {
int reversed = 0;
while (num > 0) {
int digit = num % 10;
reversed = reversed * 10 + digit; // 将新数字加到逆序数上
num /= 10;
}
printf("逆序后的数字是:%d\n", reversed);
}
int main() {
int input_num;
printf("请输入一个正整数:");
scanf("%d", &input_num);
// 输出顺序数字
printDecimalDigits(input_num);
// 逆序输出数字
reverseDecimalDigits(input_num);
return 0;
}
```
在这个程序中,`printDecimalDigits`函数逐个提取输入数字的每一位,并打印出来;而`reverseDecimalDigits`则利用一个临时变量`reversed`,每次将当前数字添加到该位置,并更新原数,直到所有的数字都取出。
阅读全文