【问题描述】 编写一程序, 【输入形式】的数,如果输入的数不是三位正整数,则输出-1。从键盘输入三位的正整数。 【输出形式】 输出交换后的正整数值。 【输入样例】 356 【输出样例
时间: 2023-09-08 22:05:19 浏览: 204
从键盘输入一个三位整数,逆序输出。如输入123,输出321。
### 回答1:
以下是使用Python语言编写的程序,实现了输入一个数并将其输出为正整数的功能:
```
num = input("请输入一个数:") # 接收用户输入的字符串
num = int(num) # 将输入的字符串转换为整数类型
if num < 0 or num >= 1000 or num != int(num): # 判断输入是否合法
print("-1")
else:
print(int(num)) # 输出输入的整数
```
在上述程序中,首先接收用户输入的字符串,并将其转换为整数类型。然后通过if语句判断输入是否合法,如果不合法则输出-1,否则输出输入的整数。具体来说,判断输入是否合法的条件有三个:输入的数必须大于等于0,小于1000,且是一个整数(即输入的数和它的整数部分相等)。
例如,如果用户输入356,则程序会将其输出为356;如果用户输入3.14,则程序会将其输出为-1。
### 回答2:
题目要求编写一个程序,输入一个数,如果这个数不是三位正整数,则输出-1。如果是三位正整数,则输出交换后的正整数值。
首先,我们可以通过输入函数从键盘获取一个数。然后,我们可以用条件语句判断这个数是否是三位正整数。
如果这个数不是三位正整数,我们可以直接输出-1。
如果这个数是三位正整数,我们可以通过数学运算将其个位、十位和百位进行交换。具体的操作步骤如下:
1. 首先,我们可以用取模运算(%)获得这个数的个位数。
2. 然后,我们可以用整除运算(//)获得这个数的十位数。
3. 最后,我们可以用整除运算(//)获得这个数的百位数。
4. 利用上述取得的个位、十位和百位数,我们可以通过数学运算重新组合得到交换后的正整数值。
交换后的正整数值 = 个位数 * 100 + 十位数 * 10 + 百位数
最后,我们可以通过输出函数将交换后的正整数值输出到屏幕上。
下面是一个使用Python语言实现上述步骤的程序:
```python
# 输入一个数
num = int(input("请输入一个三位正整数:"))
# 判断是否是三位正整数
if num < 100 or num > 999:
print(-1)
else:
# 交换个位、十位和百位
ones = num % 10 # 个位数
tens = (num // 10) % 10 # 十位数
hundreds = num // 100 # 百位数
# 输出交换后的正整数值
swapped_num = ones * 100 + tens * 10 + hundreds
print("交换后的正整数值为:", swapped_num)
```
输入样例:356
输出样例:653
### 回答3:
题目要求编写一个程序,从键盘输入一个三位的正整数,然后输出交换后的正整数值。
首先,我们需要判断输入的数是否为三位正整数。若不是三位正整数,则输出-1。判断的方法是利用字符串的长度来判断输入的数字位数是否为3。具体代码如下:
```python
num = input("请输入一个三位的正整数:")
if len(num) != 3: # 判断输入的数字位数是否为3
print(-1)
else:
# 若输入的数字位数为3,则进行交换操作
num = int(num)
# 提取百位、十位、个位上的数字
digit_100 = num // 100
digit_10 = (num % 100) // 10
digit_1 = num % 10
# 进行交换操作
new_num = digit_10 * 100 + digit_1 * 10 + digit_100
print(new_num)
```
例如,输入样例为356,该程序会首先判断数字位数是否为3,满足条件后,将进行交换操作。百位上的数字为3,十位上的数字为5,个位上的数字为6,所以交换后的数字为563。因此,输出样例为563。
阅读全文