输入一个任意整数(int型),输出其位数并逆序输出该数。C语言
时间: 2024-10-17 09:15:40 浏览: 98
在C语言中,你可以通过以下步骤实现这个功能:
1. 首先,你需要获取输入的整数并计算其位数。这可以通过不断除以10并记录商的位置来完成。当商为0时,说明已经到达了最低位。
```c
#include <stdio.h>
int countBits(int num) {
int count = 0;
while (num != 0) {
num /= 10; // 对数字除以10,直到为0
count++; // 每次除法后计数加一
}
return count;
}
```
2. 接着,创建一个新的数组或者字符串来存储逆序后的每一位,并将每一位添加到数组或字符串的开头。
```c
void reverseAndOutput(int num, int bitCount) {
char reversedNum[bitCount + 1]; // 包含空字符的空间
while (num > 0) {
reversedNum[--bitCount] = num % 10 + '0'; // 取余数并转换成字符
num /= 10;
}
reversedNum[bitCount] = '\0'; // 添加结束符
printf("逆序后的数为:%s\n", reversedNum);
}
int main() {
int input;
printf("请输入一个整数:");
scanf("%d", &input);
int bitCount = countBits(input);
reverseAndOutput(input, bitCount);
return 0;
}
```
阅读全文