任给十进制的正整数,完成以下操作: (1)请按序输出其各位数字。(2) 逆序输出其各位数字。用C语言的逆序循环和正序循环算法编写此程序
时间: 2024-10-12 16:09:46 浏览: 31
在C语言中,为了完成这个任务,你可以使用`while`循环或者`for`循环分别实现正序和逆序输出。这里是一个简单的示例:
```c
#include <stdio.h>
// 正序打印函数
void print_in_order(int num)
{
while (num > 0) {
int digit = num % 10; // 取出个位数字
printf("%d", digit);
num /= 10; // 移除个位并向下取整
}
printf("\n");
}
// 逆序打印函数
void print_reverse(int num)
{
if (num == 0) return;
int rev_num = 0; // 初始化倒序后的数
while (num > 0) {
int digit = num % 10;
rev_num = rev_num * 10 + digit; // 将当前数字加入到倒序数中
num /= 10;
}
printf("逆序后: %d\n", rev_num); // 输出倒序后的数字
}
int main()
{
int input_num;
printf("请输入一个正整数: ");
scanf("%d", &input_num);
print_in_order(input_num); // 正序输出
print_reverse(input_num); // 逆序输出
return 0;
}
```
在这个程序中,`print_in_order`函数通过`while`循环从最高位开始取出并打印数字,而`print_reverse`函数则先保存整个数,然后每次取出一位加到新数上形成倒序。
阅读全文