程序填空题:正整数的位数*
请编写函数,求正整数的位数。
#### 函数原型
```c
// 正整数的位数
int NumDigit(int number);
```
说明:参数 `number` 为正整数,函数值为 `number` 的位数。
下面的程序,输入正整数,计算并输出该正整数的位数。
请在空白处填写适当内容完成此程序。
```c
#include
#include
// 正整数的位数
int NumDigit(int number);
int main()
{
int x, y;
scanf("%d", &x);
y = @@[NumDigit(x)](5);
printf("%d\n", y);
return 0;
}
// 正整数的位数
int NumDigit(int number)
{
int numDigit;
numDigit = @@[(int)floor(log10(number)) + 1](5);
return numDigit;
}
```
#### 输入格式
> 正整数
#### 输出格式
> 位数
#### 输入样例
```in
2103
```
#### 输出样例
```out
4
```
提示:利用常用对数函数log10。
答案:
第1空:NumDigit(x)
第2空:(int)floor(log10(number)) + 1
#### 函数原型
```c
// 正整数的位数
int NumDigit(int number);
```
说明:参数 `number` 为正整数,函数值为 `number` 的位数。
下面的程序,输入正整数,计算并输出该正整数的位数。
请在空白处填写适当内容完成此程序。
```c
#include
#include
// 正整数的位数
int NumDigit(int number);
int main()
{
int x, y;
scanf("%d", &x);
y = @@[NumDigit(x)](5);
printf("%d\n", y);
return 0;
}
// 正整数的位数
int NumDigit(int number)
{
int numDigit;
numDigit = @@[(int)floor(log10(number)) + 1](5);
return numDigit;
}
```
#### 输入格式
> 正整数
#### 输出格式
> 位数
#### 输入样例
```in
2103
```
#### 输出样例
```out
4
```
提示:利用常用对数函数log10。
答案:
第1空:NumDigit(x)
第2空:(int)floor(log10(number)) + 1