用流程图、ns图、伪代码分别描述解决如下实际问题的算法。有3个数a b c,要求从大到小按顺序把它输出。
时间: 2023-04-27 11:00:05 浏览: 420
算法描述:
输入:三个数 a,b,c
输出:按从大到小的顺序输出 a,b,c
1. 判断 a 是否大于 b,如果是,则将 a 与 b 交换
2. 判断 a 是否大于 c,如果是,则将 a 与 c 交换
3. 判断 b 是否大于 c,如果是,则将 b 与 c 交换
4. 输出 c,b,a
流程图:
![流程图](https://i.imgur.com/dPKOEnX.png)
NS 图:
![NS图](https://i.imgur.com/SsNSsJx.png)
伪代码:
```
输入:a,b,c
如果 a > b
交换 a 和 b
如果 a > c
交换 a 和 c
如果 b > c
交换 b 和 c
输出 c,b,a
```
相关问题
用流程图、ns图、伪代码分别描述解决如下实际问题的算法。求两个数m和n的最大公约数
流程图:
开始 -> 输入m和n -> 如果m小于n,则交换m和n -> 如果n等于,则输出m为最大公约数,结束 -> 否则,令r为m除以n的余数 -> 将m赋值为n,将n赋值为r -> 返回第三步
NS图:
伪代码:
function gcd(m, n)
if m < n then
swap(m, n)
end if
while n != do
r = m % n
m = n
n = r
end while
return m
end function
其中,swap函数用于交换两个变量的值。
用流程图、ns图、伪代码分别描述解决如下实际问题的算法。将100~200之间的素数输出。
流程图:
开始 -> 设定起始数值为100 -> 循环判断当前数值是否为素数 -> 若为素数则输出 -> 当前数值加1 -> 若当前数值小于等于200则继续循环 -> 结束
NS图:
伪代码:
for i = 100 to 200 do
flag = true
for j = 2 to i-1 do
if i % j == then
flag = false
break
end if
end for
if flag == true then
print i
end if
end for