Linux:依次提示用户输入 3 个整数,脚本根据数字大小依次排序输出 3 个数字 脚本
2020-08-06 19:37
176 查看
依次提示用户输入 3 个整数,脚本根据数字大小依次排序输出 3 个数字
感觉题目很简单,但是写出来又很繁杂,求指教。
用了冒泡排序
#!/bin/bash read -p "Please input the first number: " num1 read -p "Please input the second number: " num2 read -p "Please input the third number: " num3 expr $num1 - $num2 - $num3 &> /dev/null result=`echo $?` if [ $result -eq 0 ]; then number=($num1 $num2 $num3) for ((i=0;i<=2;i++)) do k=$[ 2-$i ] for ((j=0;j<=$k;j++)) do f=$[ $j+1 ] if [[ ${number[${j}]} -lt ${number[${f}]} ]]; then tmp=${number[$j]} number[$j]=${number[${f}]} number[${f}]=$tmp fi done done echo ${number[*]} && exit fi echo "You didn't give me three numbers."
expr $num1 - $num2 - $num3 这句是判断输入的是不是三个整数,一开始我是用连加,然后一直有bug,最后发现,expr连加的话,中间那个数是空值它也可以继续计算…
相关文章推荐
- c语言经典的排序函数swap():输入的两个整数按大小顺序输出。
- 根据输入整数的大小给出不同输出
- 提示用户输入的一个长度8位正整数数字 , 我们来统计这个数字中的每一位上出现的数字的重复次数 :
- 当对输入的数据进行大小排序有浮点数和整数,判断是浮点数还是整型数,按原型输出
- 输入一组大于等于0的整数,根据从大到小的顺序排序后输出;如果排序后有连续数时,只输出连续输的最大和最小数。
- 利用可变数组将用户输入数字排序后输出
- 习题 8.16 输入一个字符串,内有数字和非数字字符,将其中连续的数字作为一个整数,依次存放到一数组a中。统计共有多少个整数,并输出这些数。
- 输入一个字符串,内有数字和非数字字符,将其中连续的数字作为一个整数,依次存放到一数组a中。统计共有多少个整数,并输出这些数。
- 用户输入的一个整数,输出一个数字组成的图案,如输入一个1-9之间的数字
- Python练习题:输出提示信息:“请输入1-100之间的整数:”接收用户键盘输入,如果输入的是1-100之间的整数,输出“您输入的是整数
- 用户输入整数:如果输入的是1~6的整数,则程序输出:your number is in 1-6.c=(用户输入的数)如果输入的是其他数字,输出:Your number is too large.
- 猜数字:(非常6+1)定义一个200以内的整数(比如85)。接收用户控制台输入的整数,当比这个数(85)大的时候就提示“大了”, 反之比这个数(85)小的时候就提示“小了”。反复循环,如果猜中了就提
- 问题:利用输入输出流重载实现一个整数数组的输入和输出。 要求:输入一个数组大小 及 所有元素的值,排序后输出该数组的所有元素。
- 1.程序设计题输入个数不限的数字,以逗号为分隔,以回车键为结束,数字大小在-32768-32767 之间。从小到达排序后以 4 个数每行输出如:输入:12,34,-12,23,123,56,-9,78
- 核心功能为使用for循环输出用“*”表达的等腰三角、菱形。程序首先有欢迎界面,内容应包含程序作者(姓名、学号),并提示用户选择“1.输出等腰三角形;2.输出菱形3.退出程序。”,根据用户输入的选择,运
- 读一组整数到vector对象,计算并输入每对相邻元素的和,如果读入元素个数为奇数,则提示用户最后一个元素没有求和,并输出其值。
- 猜数字大小游戏,用户输入一个数字,如果大了就显示大了,如果小了就显示小了, 如果对了就提示正确(补充难度,只有5次机会,限制数字的范围在百位以内)
- 输入一组数据,统计每个数出现的次数,并按照数字的大小进行排序输出。
- 打擂台,从键盘上接收一批整数,比较并输出其中的最大值和最小值,输入数字0时结束循环。提示:声明两个变量max和min,分别记录最大和最小值。
- 输入字符串,内有数字和非字符数组,例如A123x456将其中连续的数字作为一个整数,依次存放到一个数组中,如123放到a[0],456放到a[1],并输出a这些数