[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

try

  1. ::题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
  2. @echo off
  3. setlocal enabledelayedexpansion
  4. set /a b=1,a=2
  5. set s=
  6. for /l %%i in (1,1,20) do (
  7. set /a c=b+a
  8. echo !a!/!b!
  9. set /a s=s+!a!/!b!
  10. set /a b=a
  11. set /a a=c
  12. )
  13. echo %s%
  14. pause>nul
复制代码
注:由于限制未能求出小数部分!

TOP

选择排序法

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. ::选择排序法
  4. echo 共输入10个数
  5. for /l %%i in (1,1,10) do (
  6. set /p a_%%i=请输入%%i个数
  7. set str=!str! !a_%%i!
  8. )
  9. echo %str%
  10. for /l %%i in (1,1,9) do (
  11. set /a b=%%i+1
  12. for /l %%j in (!b!,1,10) do (
  13.    if !a_%%i! gtr !a_%%j! (
  14.       set /a t=a_%%i
  15.       set /a a_%%i=a_%%j
  16.       set /a a_%%j=t
  17.     )
  18. )
  19. )
  20. for /l %%i in (1,1,10) do (
  21. set str1=!str1! !a_%%i!
  22. )
  23. echo %str1%
  24. pause>nul
复制代码

TOP

八进制转十进制

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. ::判断是否为八进制,共几位
  4. :1
  5. set /p bb=请输入八进制整数:
  6. set /a aa=%bb%
  7. set /a n=0
  8. :2
  9. set b=%aa:~,1%
  10. if %b% gtr 8  goto :1
  11. set /a n=n+1
  12. set aa=!aa:~1!
  13. if "%aa%" neq "" goto :2
  14. ::echo %n%
  15. ::利用权值,求各位十进制值并累加
  16. :3
  17. set /a n-=1
  18. set /a c=%bb:~0,1%
  19. for /l %%i in (1,1,%n%) do set /a c*=8
  20. set /a t+=%c%
  21. set bb=%bb:~1%
  22. if "%bb%" neq "" goto :3
  23. echo %t%
  24. pause>nul
复制代码

[ 本帖最后由 tyc 于 2009-4-10 10:33 编辑 ]

TOP

十进制转任意进制

  1. @echo off
  2. set /p x=要转换的数:
  3. set /p y=要转换的进制:
  4. call :10 %x% %y%
  5. pause>nul
  6. goto :eof
  7. :10
  8. set/a t=%1/%2
  9. if %t% gtr 0 call :10 %t% %2
  10. set /a b=%1%%%2
  11. set /p=%b% <nul
复制代码

[ 本帖最后由 tyc 于 2009-4-12 12:17 编辑 ]

TOP

返回列表