shell实现命令行中输入整数的最大和最小值

作者&投稿:晨梅 (若有异议请与网页底部的电邮联系)
编写一个SHELL脚本程序m_sh 要求输入三个整数 把最大和最小的数输在屏幕上~

echo -n "Enter three number:"
read a b c
if [ $a -gt $b ];then
t=$a;a=$b;b=$t;
fi

if [ $a -gt $c ];then
t=$a;a=$c;c=$t;
fi

if [ $b -gt $c ];then
t=$b;b=$c;c=$t;
fi

echo "The small number is $a"
echo "The big number is $c"

假设有两个参数,$1和$2
max=0
if [ "$1" -ge "$2" ]
then
max="$1"
else
max="$2"
fi

比较操作:
-ge 大于等于
-gt 大于
-eq 相等
-lt 小于
-ne 不相等


如果循环比较的话,
试试这样:
max=0
for args in $*
do
if [ "$max" -lt "$args" ]
then
max="$args"
fi
done
这里假设数字都是通过参数传递过来,
用max逐个跟参数比较,得出最大的.

将下面的内容存入文件中,比如test.sh,然后chmod +x test.sh 变成可执行,然后 ./test.sh 99 100 -1 -80 .... 参数可以是任意多数字

#!/bin/bash

if [ -z "$1" ]; then
echo "You have to provide at least one numbers"
exit 1
fi

max=$1
min=$1

for number in $*
do
if [ $number -gt $max ]; then
max=$number
fi

if [ $number -lt $min ]; then
min=$number
fi
done

echo "Max $max, Min $min"


...则输入命令行:prg hell good 结果为 为什么 #include "stdio.h...
例如,在命令行输入 prg hello good 那么参数的数量就是3,其中第一个就是prg(程序名自身)。而字符指针数组argv就是用于保存各个参数的,所以对于上面的输入 argc==3 argv[0]=="prg"argv[1]=="hello"argv[2]=="good"argv[0],指向"prg.exe"首地址,argv[1]指向"hello"首地址,argv[2]...

每次关机都会出现 rundll32.exe 错误无法关闭
在来看看Rundll32.exe使用的函数原型:VoidC ALLBACKFunctionName(HWNDhwnd,HINSTANCEhinst,LPTSTRlpCmdLine, IntnCmdShow);其命令行下的使用方法为:Rundll32.exeDLLname,Functionname [Arguments]DLLname为需要执行的DLL文件名;Functionname为前边需要执行的DLL文件的具体引出函数;[Arguments] 为引出函数的具体参数。略谈Rund...

xhell和sshd兼容性问题怎么解决
1、我们使用命令行vim\/etc\/ssh\/sshd_config执行修改。2、命令行输入sudo\/gedit\/etc\/ssh\/sshd_config。3、系统提示我们输入密码,输入密码即可。

xshell怎样打开图形化界面
xhell属性-隧道勾选Xmanager, 命令行调用:gnome-panel

暗黑破坏神2命令
1、-exp -expansion:切换到扩展模式 2、-w -window:切换到窗口模式 3、-glide -glide:使用Glide显示模式 4、-opengl -opengl:使用OpenGL显示模式 5、-d3d -d3d:使用Direct 3D显示模式 6、-rave -rave:使用Rave显示模式,仅适用于Mac 7、-per -perspective:打开透视模式,仅适用于全屏非Direct...

电信光纤猫超级密码是多少?
登陆电信光猫后台成功后,输入“shell”命令并按回车键以进入Linux命令行执行界面,如图所示:接下来输入命令“cd \/mnt\/jffs2”进入jssf2目录 输入命令“cp hw_ctree.xml myconf.xml.gz",复制配置文件hw_ctree.xml并重新命名为myconfig.xml.gz。如图所示:由于“myconfig.xml.gz”是经过AES加密的...

光盘安装OpenBSD3.6的方法
   |(I)nstall, (U)pgrade or (S)hell? i then RETURN;    ###    其中(I)代表安装一个全新的系统,(U)代表升级原有的OpenBSD旧版本的系统,(S)代表退出并进入命令行状态。    我们要安装一个全新的OpenBSD系统,所以我们在这里输入I,并回车。(当然你也可以按下Ctrl+...

PC logo全部命令
DRAW-清除屏幕,海龟,画布颜色复制,海龟颜色回到原来的设置 CLEAN屏幕清晰,乌龟,笔的颜色,画布的颜色,乌龟的位置角度不变 CLEARSCREENCS(CS为清屏)清屏,龟背原稿位置,笔色,画布色不变 CLEARTEXTCT明确的命令区 SPLITSCREENSS图文混合屏 FULLSCREENFS全图形屏 TEXTSCREENTS全文字屏 NODRAWND全文字屏...

操作系统概述
与DOS的命令行形式不同,在Windows系列的操作系统中,每一种应用软件都用一个图标表示,用户只需把鼠标移到应用软件的图标上,利用鼠标的击键功能就可以选中或运行某个软件。图形界面使用户的操作方便了很多,从而使计算机应用的普及过程大大加快。 Windows操作系统依次经历了Windows3.x、Windows95、Windows98、Windows 2000...

怎么通过端口进行入侵?
首先在命令行键入ftp回车,出现ftp的提示符,这时候可以键入"help"来查看帮助(任何DOS命令都可以使用此方法查看其帮助)。 大家可能看到了,这么多命令该怎么用?其实也用不到那么多,掌握几个基本的就够了。 首先是登陆过程,这就要用到open了,直接在ftp的提示符下输入"open 主机IP ftp端口"回车即可,一般端口默认都...

呼中区18439547250: shell实现命令行中输入整数的最大和最小值 -
源眉宁泰: #! /bin/bash sum=0 for num in $*;do ((sum+=num)) done echo $sum

呼中区18439547250: shell实现命令行中输入整数的最大和最小值 -
源眉宁泰: 将下面的内容存入文件中,比如test.sh,然后chmod +x test.sh 变成可执行,然后 ./test.sh 99 100 -1 -80 .... 参数可以是任意多数字#!/bin/bashif [ -z "$1" ]; then echo "You have to provide at least one numbers" exit 1fimax=$1min=$1for ...

呼中区18439547250: 编写Shell程序 找出用户输入的一串正数中最大的数 -
源眉宁泰: 可以这样写#!/bin/bash if [ $# -lt 1 ]; then echo "Enter your numbers" exit 1 fi MAXNUM=`for i in $*; do echo $i; done | sort -nr | head -1` echo "The maximum number is: $MAXNUM"测试结果$ sh test.sh 1 56 0 92 The maximum number is: 92

呼中区18439547250: 1、 编写shell脚本,实现如下功能:(1)从命令行读入2个整数;(2)对两个数进行大小比较;(3)在屏幕上输出比较结果;(4)写出该脚本的执行方法... -
源眉宁泰:[答案] read -p "input 2 integers:" a b [[ $a -gt $b ]]&&echo "$a>$b" [[ $a -eq $b ]]&&echo "$a=$b" [[ $a -lt $b ]]&&echo "$a解析看不懂?免费查看同类题视频解析查看解答

呼中区18439547250: 如何用shell编写出输入5个数,然后求最大最小,平均? -
源眉宁泰: 我只能实再整数的. vi test.sh 输入: #!/bin/sh min=$1 max=$1 sum=$1 shift while [ $# -gt 0 ] do if [ $min -gt $1 ] then min=$1 fi if [ $max -lt $1 ] then max=$1 fi sum=`expr $sum +$1` shift done sum=`echo "$sum/5"`|bc -l echo min=$min echo ...

呼中区18439547250: 用linux编写shell程序,实现如下功能:从终端接收10个大于零的整数,并显示已输入的最大的数. -
源眉宁泰: 展开全部#试试这个(保存并给予此文件x权限然后在终端运行):arg_cnt=$#arg_list=$*biggest=$1 if [ $arg_cnt -eq 0 ]; thenecho "$RF 后面必须添加你想要做比较的数(以空格分隔)"exit 1fi for each_arg in $arg_listdoif [ $each_arg -gt $biggest ]; thenbiggest=$each_argfidone echo "最大的数是 : $biggest \n" exit 0

呼中区18439547250: 这道题如何用shell编写 -
源眉宁泰: #!/bin/bash echo $@ | xargs -n1 |sort -n | xargs | awk '{print "min="$1"\tmax="$NF}' [root@localhost test]# sh minmax.sh 23 43 54 56 76 76 min=23 max=76

呼中区18439547250: 编写shell脚本,实现如下功能:(1)从命令行读入2个整数;(2)对两个数进行大小比较;(3)在屏幕上输出 -
源眉宁泰:脚本内容: echo -n "a=" read a echo -n "b=" read b#let "c=$a -$b" c=`expr $a - $b` if [ $c -eq 0 ];then echo "a=b" elif [ $c -lt 0 ];then echo "a<b" else echo "a>b" fi

呼中区18439547250: 使用for语句创建命令行上所有整数之和的shell程序 -
源眉宁泰: 你把sum=' expr $sum + $INT '中的单引号要换成反引号 如下: sum=` expr $sum + $INT ` 然后就行了 亲给好评哟!!!!

呼中区18439547250: shell 编程 如何实现 比较两个整数的大小 -
源眉宁泰: 假设有两个参数,$1和$2 max=0 if [ "$1" -ge "$2" ] then max="$1" else max="$2" fi比较操作: -ge 大于等于 -gt 大于 -eq 相等 -lt 小于 -ne 不相等 如果循环比较的话, 试试这样: max=0 for args in $* doif [ "$max" -lt "$args" ]thenmax="$args"fi done 这里假设数字都是通过参数传递过来, 用max逐个跟参数比较,得出最大的.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网