| 网站首页 | 绿色软件 | 绿色数码 | 安全中心 | 屏保中心 | 源码中心 | 电子书库 | 教程库 | 图片库 | 资料库 | 算命 | 笑话 | 广告 | 绿站旧版 | 返回总部 | 
您现在的位置: 绿色软件站 >> 源码中心 >> BAT源码 >> 数值计算 >> 源码信息
热点推荐
最新更新
本类热门
· 去最大最小值后求剩余数组平均值
· 网络配置备份恢复
· 计算2的N次方
· 乘法,加法,计算器
· 九九乘法表
· 求最大公约数和最小公倍数
· 开平方
· 求一列数所有不同组合的和
· 九宫格图案
· 对数字进行排序
推荐软件
其他更新
去最大最小值后求剩余数组平均值
运行环境: Win9x/NT/2000/XP/2003 (载入中...)
文件大小: 1 K
软件类别: BAT源码
软件语言: 简体中文
软件属性:       
授权方式: 免费版
添加时间: 2008-3-29 7:11:00
软件等级: ★★★
软件绿化: 佚名
相关链接: 源码演示地址  源码注册地址
下载次数: 日: 周: 月: 总:
软件添加: 审核:lodge 录入:lodge
::软件简介::  

警告:运行BAT源码是一种危险的动作,如果你不熟悉,请不要尝试!

@echo off
:: 一组数,去掉最大值和最小值之后,求其余数的平均值
:: Code by 3742668 2006-5-25 CMD@XP
:: 出处:http://www.cn-dos.net/forum/viewthread.php?tid=20794
set Count=10                       rem 参加计算的数的个数
call :GetNum %Count%          rem 产生随机数
echo 要处理的数据为:%Num%
call :EditNum %Num%
pause
exit

:EditNum
    set /a intMax=1,intMin=2147483647      rem 批处理最大只能处理32位数据
    setlocal enabledelayedexpansion
    for %%i in (%*) do (if %%i GEQ !intMax! set /a intMax=%%i) & (if %%i LEQ !intMin! set /a intMin=%%i)
    for %%j in (%*) do set /a intCount=!intCount! + 1
    echo 有%intCount%个数,其中最大和最小分别为%intMax%,%intMin%
    set total=%Num: =+%
    set /a total=%total%
    set /a total=(%total% - %intMax% - %intMin%) / (%intCount% - 2)
    echo 总数为:%total%
goto end

:GetNum
    if "%Flag%" == "%1" goto end
    set Num=%Num% %Random%
    set /a Flag = %Flag% + 1
goto GetNum

:end
    endlocal
    set Flag=
    set intMax=
    set intMin=
    set intCount=
    set total=
goto :eof

:: Average.cmd - Eval average of a batch of numbers
:: Will Sort - 2006-06-03 - CMD@WinXP
:: 出处:http://www.cn-dos.net/forum/viewthread.php?tid=20794
@echo off
call :GetNum
echo 要处理的数据为:%return%
call :Average %return%
echo 去除最大值和最小值的平均数为 %return%
goto :eof

:GetNum
if "%_n%"=="" setlocal
set _n=-
set /p _n=请输入一个整数(直接回车结束输入):
if "%_n%"=="-" endlocal&set return=%return%&goto :eof
set /a _i=_n
if "%_i%" NEQ "%_n%" (echo 无效的输入数据:%_n%
) else set return=%return% %_i%
goto GetNum

:Average
setlocal EnableDelayedExpansion
if "%3"=="" set return=N/A&goto :eof
set /a iMax=%1,iMin=%1
for %%i in (%*) do (   
    if %%i GTR !iMax! set /a iMax=%%i
    if %%i LSS !iMin! set /a iMin=%%i
    set /a iTotal+=%%i
    set /a iCount+=1
)
set /a return=(iTotal-iMax-iMin) / (iCount-2)
endlocal&set return=%return%&goto :eof

 

:: Average.cmd - Eval average of a batch of numbers
:: Will Sort - 2006-06-03 - CMD@WinXP
:: modified by zh159 2006-7-24 对返回值清空,以便循环调用
:: 出处:http://www.cn-dos.net/forum/viewthread.php?tid=20794
@echo off
set return=
call :GetNum
echo 要处理的数据为:%return%
call :Average %return%
echo 去除最大值和最小值的平均数为 %return%
goto :eof

:GetNum
if "%_n%"=="" setlocal
set _n=-
set /p _n=请输入一个整数(直接回车结束输入):
if "%_n%"=="-" endlocal&set return=%return%&goto :eof
set /a _i=_n
if "%_i%" NEQ "%_n%" (echo 无效的输入数据:%_n%
) else set return=%return% %_i%
goto GetNum

:Average
setlocal EnableDelayedExpansion
if "%3"=="" set return=N/A&goto :eof
set /a iMax=%1,iMin=%1
for %%i in (%*) do (   
    if %%i GTR !iMax! set /a iMax=%%i
    if %%i LSS !iMin! set /a iMin=%%i
    set /a iTotal+=%%i
    set /a iCount+=1
)
set /a return=(iTotal-iMax-iMin) / (iCount-2)
endlocal&set return=%return%&goto :eof
set return=


@echo off
:: 一组数,去掉最大值和最小值之后,求其余数的平均值
:: Code by 3742668 2006-5-25 CMD@XP
:: 出处:http://www.cn-dos.net/forum/viewthread.php?tid=20794
set Count=10                       rem 参加计算的数的个数
call :GetNum %Count%          rem 产生随机数
echo 要处理的数据为:%Num%
call :EditNum %Num%
pause
exit

:EditNum
    set /a intMax=1,intMin=2147483647      rem 批处理最大只能处理32位数据
    setlocal enabledelayedexpansion
    for %%i in (%*) do (if %%i GEQ !intMax! set /a intMax=%%i) & (if %%i LEQ !intMin! set /a intMin=%%i)
    for %%j in (%*) do set /a intCount=!intCount! + 1
    echo 有%intCount%个数,其中最大和最小分别为%intMax%,%intMin%
    set total=%Num: =+%
    set /a total=%total%
    set /a total=(%total% - %intMax% - %intMin%) / (%intCount% - 2)
    echo 总数为:%total%
goto end

:GetNum
    if "%Flag%" == "%1" goto end
    set Num=%Num% %Random%
    set /a Flag = %Flag% + 1
goto GetNum

:end
    endlocal
    set Flag=
    set intMax=
    set intMin=
    set intCount=
    set total=
goto :eof

:: Average.cmd - Eval average of a batch of numbers
:: Will Sort - 2006-06-03 - CMD@WinXP
:: 出处:http://www.cn-dos.net/forum/viewthread.php?tid=20794
@echo off
call :GetNum
echo 要处理的数据为:%return%
call :Average %return%
echo 去除最大值和最小值的平均数为 %return%
goto :eof

:GetNum
if "%_n%"=="" setlocal
set _n=-
set /p _n=请输入一个整数(直接回车结束输入):
if "%_n%"=="-" endlocal&set return=%return%&goto :eof
set /a _i=_n
if "%_i%" NEQ "%_n%" (echo 无效的输入数据:%_n%
) else set return=%return% %_i%
goto GetNum

:Average
setlocal EnableDelayedExpansion
if "%3"=="" set return=N/A&goto :eof
set /a iMax=%1,iMin=%1
for %%i in (%*) do (   
    if %%i GTR !iMax! set /a iMax=%%i
    if %%i LSS !iMin! set /a iMin=%%i
    set /a iTotal+=%%i
    set /a iCount+=1
)
set /a return=(iTotal-iMax-iMin) / (iCount-2)
endlocal&set return=%return%&goto :eof

 

:: Average.cmd - Eval average of a batch of numbers
:: Will Sort - 2006-06-03 - CMD@WinXP
:: modified by zh159 2006-7-24 对返回值清空,以便循环调用
:: 出处:http://www.cn-dos.net/forum/viewthread.php?tid=20794
@echo off
set return=
call :GetNum
echo 要处理的数据为:%return%
call :Average %return%
echo 去除最大值和最小值的平均数为 %return%
goto :eof

:GetNum
if "%_n%"=="" setlocal
set _n=-
set /p _n=请输入一个整数(直接回车结束输入):
if "%_n%"=="-" endlocal&set return=%return%&goto :eof
set /a _i=_n
if "%_i%" NEQ "%_n%" (echo 无效的输入数据:%_n%
) else set return=%return% %_i%
goto GetNum

:Average
setlocal EnableDelayedExpansion
if "%3"=="" set return=N/A&goto :eof
set /a iMax=%1,iMin=%1
for %%i in (%*) do (   
    if %%i GTR !iMax! set /a iMax=%%i
    if %%i LSS !iMin! set /a iMin=%%i
    set /a iTotal+=%%i
    set /a iCount+=1
)
set /a return=(iTotal-iMax-iMin) / (iCount-2)
endlocal&set return=%return%&goto :eof
set return=

::下载地址::  
·电信服务器一  ·电信服务器二  ·网通服务器二  ·网通服务器一  
::相关软件::  
酷我音盒(自带100万首歌曲的播放器)
没有相关源码
(载入中...)
::相关教程::
::下载说明::
为了达到最快的下载速度,推荐使用网际快车下载本站软件。
如果您发现该软件不能下载,请通知管理员或点击【此处报错】,谢谢!
未经本站明确许可,任何网站不得非法盗链及抄袭本站资源;如引用页面,请注明来自本站,谢谢您的支持!
      网友评论:(评论内容只代表网友观点,与本站立场无关!) 发表评论