9.用if语句与switch语句结合编写程序。 给一个不多于4位的正整数,要求: I (1)求出它是几位数 (2)按逆序输出每位数字
时间: 2024-10-24 15:17:48 浏览: 43
当需要处理多种情况并以特定的方式执行相应操作时,可以结合使用`if`语句和`switch`语句。这里是一个简单的例子,用于满足题目要求:
```python
# 获取输入的4位正整数
num = int(input("请输入一个不超过4位的正整数:"))
# 判断位数
if num < 0 or num >= 10**4: # 如果输入非法(负数或超过4位)
print("输入错误,仅接受4位正整数。")
else:
digits = [] # 存储每一位数字
while num > 0:
remainder = num % 10 # 取余得到最后一位
digits.append(remainder)
num = num // 10 # 除以10去掉最低位
# 输出逆序的每一位数字
print("逆序后的各位数字依次为:", end="")
for digit in reversed(digits):
print(digit, end=" ")
# 求位数
print("\n该数字共有{}位。".format(len(digits)))
```
相关问题
给一个不多于5位数的正整数,文件名为sy4_6.c,用switch语句实现
在C语言中,如果你有一个不大于5位数的正整数,并且你想用`switch`语句来处理这个数值,通常的做法是将数字转换成对应的字符或者执行特定操作。假设这个数值代表某种状态或选项,我们可以创建一个`switch`结构,每个case对应一个特定的数字。
下面是一个简单的例子,文件名`sy4_6.c`可能是学生作业的一个练习题目,这里我们仅举一个基础的案例:
```c
#include <stdio.h>
int main() {
int number;
printf("请输入一个1到9999的正整数: ");
scanf("%d", &number);
switch (number) {
case 1:
printf("这是数字1\n");
break;
case 2:
printf("这是数字2\n");
break;
// 对于其他4位数...
case 9999:
printf("这是最大值9999\n");
break;
default:
printf("输入的数字超出范围或者无效\n");
}
return 0;
}
```
在这个示例中,用户会被提示输入一个数,然后`switch`会检查这个数并执行相应的`case`下的代码块。对于超过5位数的情况,程序会执行default分支,显示输入错误的信息。
给一个不多于5位数的正整数,用switch语句实现
当你需要根据不同情况对一个不大于五位数的正整数进行处理,并且想要使用`switch`语句来组织这种条件判断,你可以按照以下步骤编写代码:
```java
int num = <你的数字>; // 假设num是一个变量,存储你要判断的正整数
switch (num) {
case 0:
System.out.println("输入的是0");
break;
case 1:
case 2:
case 3:
case 4:
System.out.println("输入的是一位数");
break;
case 5:
case 6:
case 7:
case 8:
case 9:
System.out.println("输入的是二位数");
break;
case 10:
case 11:
case 12:
// ...直到 99
System.out.println("输入的是三位数");
break;
case 100:
case 101:
// ...直到 999
System.out.println("输入的是四位数");
break;
default:
if (num >= 1000 && num <= 9999) { // 处理5位数的情况
System.out.println("输入的是五位数: " + num);
} else {
throw new IllegalArgumentException("输入的数值超出范围");
}
break;
}
```
在这个例子中,`switch`语句会根据`num`的值进入相应的case块并执行相应操作。当`num`大于9999时,我们会检查它是否在默认范围内(1000到9999),如果不是,则抛出异常。
阅读全文