用户输入一个非负整数,程序在屏幕上输出该数的位数,如果是负数直接输出0
时间: 2023-05-22 21:04:28 浏览: 174
好的,你的问题很有意思。实现这个功能,我们可以先将这个整数转换成字符串,然后输出字符串的长度即可。具体代码如下:
```
#include <iostream>
#include <string>
using namespace std;
int main() {
int num;
cin >> num;
if (num < 0) {
cout << 0 << endl;
} else {
string str_num = to_string(num);
cout << str_num.length() << endl;
}
return 0;
}
```
这个程序的思路很简单,我们通过 `to_string` 函数将整数转换成字符串,然后输出字符串的长度即可。如果输入的数是负数,直接输出 0。
希望我的回答对你有帮助。
相关问题
用C语言编程实现整数位数用户输入一个非负整数程序在屏幕上输出该数的位数,如果是负数直接输出零
```c
#include <stdio.h>
int main() {
int num, count = 0;
printf("请输入一个非负整数:");
scanf("%d", &num);
if (num < 0) {
printf("0\n");
return 0;
}
while (num > 0) {
count++;
num /= 10;
}
printf("该数的位数为:%d\n", count);
return 0;
}
```
编程实现(整数位数):用户输入一个非负整数,程序在屏幕上输出该数的位数,如果是负数直接输出0。
```python
num = int(input("请输入一个非负整数:"))
if num < 0:
print(0)
else:
count = 0
while num != 0:
count += 1
num //= 10
print("该数的位数为:", count)
```
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
if (num < 0) {
System.out.println(0);
} else {
int count = 0;
while (num != 0) {
count++;
num /= 10;
}
System.out.println("该数的位数为:"+count);
}
scanner.close();
}
}
```
```c++
#include <iostream>
using namespace std;
int main() {
int num;
cout << "请输入一个非负整数:";
cin >> num;
if (num < 0) {
cout << 0 << endl;
} else {
int count = 0;
while (num != 0) {
count++;
num /= 10;
}
cout << "该数的位数为:" << count << endl;
}
return 0;
}
```
```c
#include <stdio.h>
int main() {
int num;
printf("请输入一个非负整数:");
scanf("%d", &num);
if (num < 0) {
printf("0\n");
} else {
int count = 0;
while (num != 0) {
count++;
num /= 10;
}
printf("该数的位数为:%d\n", count);
}
return 0;
}
```