编写程序实现功能:输入两个数,第一个数为被除数,第二个数为除数,如果除数为 0,则抛出一个异常并要求重新输入两个数;如果除数不为 0,则计算并显示结果。
时间: 2023-06-01 14:04:16 浏览: 53
以下是Python的代码实现:
```
while True:
try:
dividend = int(input("请输入被除数:"))
divisor = int(input("请输入除数:"))
if divisor == 0:
raise ZeroDivisionError("除数不能为0,请重新输入。")
result = dividend / divisor
print("结果为:", result)
break
except ValueError:
print("输入有误,请重新输入整数。")
except ZeroDivisionError as e:
print(e)
```
代码说明:
1. 通过 `try-except` 块来捕获可能引发的异常。
2. 在 `try` 块中输入被除数和除数,并判断除数是否为 0。
3. 如果除数为 0,则抛出一个 `ZeroDivisionError` 异常,并输出错误提示信息,要求重新输入两个数。
4. 如果除数不为 0,则计算结果并输出。
5. 如果输入的不是整数,则抛出一个 `ValueError` 异常,并输出错误提示信息,要求重新输入两个数。
6. 如果输入的被除数或除数不符合要求,会引发 `TypeError` 异常,但该异常会被 `try-except` 块自动捕获,不需要单独处理。
相关问题
编程题: 编写程序实现功能:输入两个数,第一个数为被除数,第二个数为除数,如果除数为 0,则抛出一个异常并要求重新输入两个数;如果除数不为 0,则计算并显示结果。
```python
while True:
try:
dividend = int(input("请输入被除数:"))
divisor = int(input("请输入除数:"))
if divisor == 0:
raise ZeroDivisionError
result = dividend / divisor
print("计算结果为:", result)
break
except ZeroDivisionError:
print("除数不能为0,请重新输入。")
except ValueError:
print("输入的不是整数,请重新输入。")
```
c++编程题: 编写程序实现功能:输入两个数,第一个数为被除数,第二个数为除数,如果除数为 0,则抛出一个异常并要求重新输入两个数;如果除数不为 0,则计算并显示结果。
```c
#include <stdio.h>
int main() {
int dividend, divisor, result;
while (1) {
printf("Enter dividend and divisor: ");
scanf("%d%d", ÷nd, &divisor);
if (divisor == 0) { // 如果除数为 0,抛出异常并重新输入
printf("Divisor can not be zero! Please enter again.\n");
continue;
}
result = dividend / divisor; // 计算结果
printf("%d / %d = %d\n", dividend, divisor, result);
break;
}
return 0;
}
```