-->
当前位置:首页 > 题库 > 正文内容

程序填空题:正整数的位数*

Luz4年前 (2021-05-10)题库1208
请编写函数,求正整数的位数。

#### 函数原型

```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

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。