2.(程学题)编程实现(整数位数:用户输入 一个非分整效,程序在屏希上输出该数的位数,如果是负数直接输出0 例如: 输入格式:23456 输出格式:5 输入格式:-223 输出格式:0
时间: 2023-05-23 18:05:10 浏览: 164
实现如下(python3):
```python
num = input("请输入一个非负整数:")
if num.startswith("-"):
print("0")
else:
print(len(num))
```
解释:
1. 首先,程序要求用户输入一个非负整数,用 `input()` 函数实现;
2. 然后,判断输入的数是否是负数。如果是负数,直接输出 0,表示位数为 0;
3. 如果不是负数,则使用 `len()` 函数计算其位数,即字符串长度。注意,由于 `input()` 函数返回的值是 str 类型,因此可以直接使用 `len()` 函数计算字符串长度,得到整数的位数。最后输出位数即可。
测试结果:
```
请输入一个非负整数:23456
5
请输入一个非负整数:-223
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;
}
```
用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;
}
```