输入一个不多于3位的非负整数,要求输出它是几位数,c语言
时间: 2024-10-16 07:09:45 浏览: 26
d格式符按整数格式输出-C语言入门教程
在C语言中,你可以通过取输入数字的右移次数来确定其位数。因为每次右移一位相当于除以2,所以当数字变为0时,说明它已经变成了个位数。以下是一个简单的函数示例:
```c
#include <stdio.h>
int getDigitCount(int num) {
if (num == 0) { // 如果是0,直接返回1,因为0有1位
return 1;
}
int count = 0; // 初始化计数器
while (num != 0) { // 当数字不为0时,持续循环
num >>= 1; // 右移一位
count++; // 计数加一
}
return count; // 返回最终的位数
}
int main() {
int input;
printf("请输入一个不多于3位的非负整数: ");
scanf("%d", &input);
int digit_count = getDigitCount(input);
printf("这个数字有 %d 位.\n", digit_count);
return 0;
}
```
阅读全文