任给十进制的正整数,用C语言循环算法完成以下操作: (1)请按序输出其各位数字。 (2)逆序输出其各位数字
时间: 2024-10-12 09:09:59 浏览: 37
给定一个十进制正整数N,程序输出从1到N的所有整数中,“1”出现的个数。DMU
5星 · 资源好评率100%
在C语言中,可以使用while循环或者for循环来实现这个操作。这里我会提供两个示例:一个是按顺序输出每一位数字,另一个是逆序输出。
**按顺序输出每位数字:**
```c
#include <stdio.h>
#include <stdlib.h>
void print_digits(int num) {
while (num > 0) {
int digit = num % 10;
printf("%d", digit);
num /= 10; // 除以10移除最低位
}
printf("\n");
}
int main() {
int input;
printf("请输入一个正整数: ");
scanf("%d", &input);
print_digits(input);
return 0;
}
```
**逆序输出每位数字:**
```c
#include <stdio.h>
void reverse_print_digits(int num) {
while (num != 0) {
int digit = num % 10;
printf("%d", digit);
num /= 10; // 移除最低位并逆序
}
}
int main() {
int input;
printf("请输入一个正整数: ");
scanf("%d", &input);
reverse_print_digits(input);
return 0;
}
```
**相关问题--:**
1. 如何修改上述代码以处理负数输入?
2. 这些代码是否适用于大数,比如超过`int`类型的数值?
3. 可以否将这两个函数合并成一个通用的函数处理任意方向的数字打印?
阅读全文