输入123,如何用while语句输出321
时间: 2023-03-22 16:01:56 浏览: 126
可以使用如下代码实现:
```python
num = 123
while num > 0:
digit = num % 10
print(digit, end="")
num = num // 10
```
输出结果为:321
相关问题
matlab编制m文件,等待键盘输入,输入密码123,密码正确,显示输入密码正确,程序结束;否则提示,重新输入。(分别考虑用if语句和while语句实现)
使用 `if` 语句实现:
```matlab
password = input('请输入密码:', 's'); % 读取密码,'s'表示读取字符串类型
if strcmp(password, '123')
fprintf('输入密码正确!\n');
else
fprintf('输入密码错误,请重新输入!\n');
end
```
在该程序中,我们使用了 `input` 函数来读取键盘输入的密码,并使用 `strcmp` 函数来判断输入的密码是否等于正确的密码 `'123'`。如果相等,则输出提示信息“输入密码正确”;否则输出“输入密码错误,请重新输入”。
使用 `while` 语句实现:
```matlab
password = ''; % 初始化密码为空字符串
while ~strcmp(password, '123')
password = input('请输入密码:', 's'); % 读取密码,'s'表示读取字符串类型
if strcmp(password, '123')
fprintf('输入密码正确!\n');
else
fprintf('输入密码错误,请重新输入!\n');
end
end
```
在该程序中,我们使用了一个 `while` 循环来反复读取密码并判断是否正确。在每次循环中,我们先将密码初始化为空字符串,然后读取键盘输入的密码,并使用 `strcmp` 函数判断输入的密码是否等于正确的密码 `'123'`。如果相等,则输出提示信息“输入密码正确”并跳出循环;否则输出“输入密码错误,请重新输入”。需要注意的是,为了实现反复输入的功能,我们使用了一个取反运算符 `~`,将 `strcmp(password, '123')` 的判断结果取反,这样只有当输入的密码不等于 `'123'` 时,才会进入循环体。
输入一个整数 in,求它的位数。例如123的位数是3。请使用do-while语句实现循环。
要求输入一个整数,然后使用do-while循环来计算该整数的位数。
首先,我们定义一个计数器变量count,并初始化为0,用于记录位数。然后,我们使用do-while循环来进行计算。
在循环内部,我们将输入的整数除以10,每次除以10后更新输入的整数,并将count变量加1,直到输入的整数变为0为止。循环条件为输入的整数大于0。
最后,循环结束后,我们将count的值作为结果输出,即为整数的位数。
具体代码如下:
```
import java.util.Scanner;
public class CountDigits {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num;
int count = 0;
do {
System.out.print("请输入一个整数:");
num = scanner.nextInt();
if (num < 0)
continue;
do {
num = num / 10;
count++;
} while (num > 0);
System.out.println("该整数的位数是:" + count);
} while (num >= 0);
scanner.close();
}
}
```
以上代码实现了输入一个整数,然后使用do-while循环计算该整数的位数,并重复进行多次计算直到输入的整数为负数为止。