本题要求实现一个函数,可统计任一输入的整数的位数。例如输入12345,输出位数5,输入-20输出位数2,输入0,输出位数1。
时间: 2023-12-30 21:24:51 浏览: 104
以下是一个实现统计任一输入整数位数的函数的示例代码:
```c++
#include <iostream>
#include <cmath>
int CountDigits(int n) {
if (n == 0) {
return 1;
}
int count = 0;
n = std::abs(n);
while (n > 0) {
n /= 10;
count++;
}
return count;
}
int main() {
int num;
std::cout << "请输入一个整数:";
std::cin >> num;
int digitCount = CountDigits(num);
std::cout << "位数:" << digitCount << std::endl;
return 0;
}
```
该函数的实现思路是先将输入的整数取绝对值,然后通过循环除以10,每次除以10后位数加1,直到整数变为0为止。最后返回位数即可。
相关问题
C语言 本题要求实现一个函数,可统计任一输入的整数的位数。例如输入12345,输出位数5,输入-20输出位数2,输入0,输出位数1。
以下是一个实现统计整数位数的C语言函数的例子:
```c
#include <stdio.h>
int Count_Digit(const int N) {
int count = 0;
int num = N;
if (num < 0) {
num = -num;
}
if (num == 0) {
count = 1;
} else {
while (num > 0) {
num /= 10;
count++;
}
}
return count;
}
int main() {
int N;
scanf("%d", &N);
printf("%d\n", Count_Digit(N));
return 0;
}
```
用函数和while统计任一输入的整数的位数,例如输入12345,输出位数5,输入-20,输出位数2,输入0,输出位数1
以下是一个使用函数和while循环来统计任意输入整数位数的示例代码:
```c
#include <stdio.h>
int Count_Digit(const int N) {
int count = 0;
int num = N;
if (num == 0) {
return 1;
}
if (num < 0) {
num = -num;
}
while (num > 0) {
count++;
num /= 10;
}
return count;
}
int main() {
int N;
scanf("%d", &N);
printf("位数:%d\n", Count_Digit(N));
return 0;
}
```