c语言给一个不多于5位的正整数,求出它是几位数;
时间: 2024-11-13 14:25:22 浏览: 2
100个经典例题(C语言).doc
在C语言中,你可以通过简单的条件判断和除法操作来确定一个不多于五位的正整数是几位数。这里是一个简单的示例函数:
```c
#include <stdio.h>
int getDigitCount(int num) {
if (num == 0) { // 特殊情况处理,0作为一位数
return 1;
}
int digit_count = 1; // 初始化计数为1,因为至少有一位数
while (num >= 10) {
num /= 10; // 每次除以10表示去掉了一位
digit_count++;
}
// 如果num小于10但大于0,说明是个位数
if (num > 0) {
digit_count++;
}
return digit_count;
}
int main() {
int input;
printf("请输入一个不超过5位的正整数:");
scanf("%d", &input);
int digit_count = getDigitCount(input);
printf("这个数字有 %d 位。\n", digit_count);
return 0;
}
```
在这个函数中,我们首先检查输入是否为0,因为0虽然数值上是一位数,但在这种计算中我们把它当作一位特殊的情况。然后不断将数字除以10并累加计数,直到它变成一位数或0。
阅读全文