用c语言实现:给出一个不多于5位的整数,要求1.求出它是几位数2.分别输出每位数字3. 按逆序输出各位数字,例如原数为321.应输出123
时间: 2024-10-01 11:02:34 浏览: 34
100个经典例题(C语言).doc
在C语言中,你可以通过以下步骤实现这个功能:
1. 首先定义一个函数 `int reverseAndPrint(int num)` 来计算并打印给定整数的每一位以及逆序的各位。
```c
#include <stdio.h>
// 函数接收一个整数作为输入,并返回其位数
int getDigitCount(int num) {
int count = 0;
while (num != 0) {
num /= 10; // 右移一位去掉最低位
count++;
}
return count;
}
// 打印每一位数字
void printDigits(int num, int count) {
for (int i = 0; i < count; i++) {
printf("%d", num % 10); // 取余得到当前位数
num /= 10; // 右移一位
if (i != count - 1) { // 如果不是最后一位,添加分隔符
printf(",");
}
}
printf("\n");
}
// 主函数
int main() {
int input;
printf("请输入一个不超过5位的整数: ");
scanf("%d", &input);
int digit_count = getDigitCount(input);
printf("这是%d位数:\n", digit_count);
printDigits(input, digit_count);
printf("按逆序输出各位数字: ");
printDigits(input, digit_count); // 由于已经获取了位数,直接调用该函数即可
return 0;
}
```
在这个程序中,我们首先通过`getDigitCount`函数确定输入数字的位数,然后使用`printDigits`函数依次输出每一位数字和逆序的各位数字。
阅读全文