给一个不多于5位的正整数,要求1.求出他是几位数2.分别输出每一位数字3.按逆序输出各位数字,例如原数为321,应输出123写一个c程序用函数块
时间: 2024-04-21 20:23:28 浏览: 88
python 给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字 (示例)
5星 · 资源好评率100%
好的,下面是一个使用函数块的C程序,可以实现你的要求:
```c
#include <stdio.h>
// 函数:求位数
int countDigits(int num) {
int count = 0;
while (num != 0) {
num /= 10;
count++;
}
return count;
}
// 函数:分别输出每一位数字
void printDigits(int num) {
if (num == 0) {
printf("0 "); // 如果原数为0,则直接输出0
return;
}
int digits[5]; // 假设不超过5位数
int count = 0;
while (num != 0) {
digits[count] = num % 10;
num /= 10;
count++;
}
for (int i = count - 1; i >= 0; i--) {
printf("%d ", digits[i]);
}
}
// 函数:按逆序输出各位数字
void printDigitsReverse(int num) {
if (num == 0) {
printf("0 "); // 如果原数为0,则直接输出0
return;
}
while (num != 0) {
printf("%d ", num % 10);
num /= 10;
}
}
int main() {
int num;
printf("请输入一个不多于5位的正整数:");
scanf("%d", &num);
printf("该数是 %d 位数\n", countDigits(num));
printf("分别输出每一位数字:");
printDigits(num);
printf("\n");
printf("按逆序输出各位数字:");
printDigitsReverse(num);
printf("\n");
return 0;
}
```
在上面的程序中,我们定义了三个函数:
1. `countDigits()` 函数用于计算一个整数的位数。
2. `printDigits()` 函数用于分别输出一个整数的每一位数字。
3. `printDigitsReverse()` 函数用于按逆序输出一个整数的每一位数字。
在 `main()` 函数中,我们首先接收用户输入的正整数,然后调用上述函数来实现要求的功能,并打印结果到控制台上。
请注意,为了确保输入的正整数不超过5位数,我们假设输入的整数不会超过 `int` 类型的范围。如果需要处理更大的数,请考虑使用更长的整数类型(如 `long long`)。
阅读全文