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



  for /f "delims=%1" %%i in ("0123456789") do set num4=%%i
if not defined num4 echo !num1!中的 delims=%1引用的是什么哦

TOP

本帖最后由 keiamy 于 2014-2-13 18:12 编辑

程序10:
  1. @echo off
  2. set "num=17"
  3. set /a "x=1,n=num/3,m=num%%3"
  4. for /l %%i in (1 1 %n%) do (set /a x*=3)
  5. if %m%==2 set /a "x*=2"
  6. if %m%==1 set /a "x=x*4/3"
  7. echo %x%
  8. pause
复制代码
我是NO.1 呀﹗不過.......@echo是在菜鳥比賽中....>.<

TOP

本帖最后由 keiamy 于 2014-2-11 20:06 编辑

程序7:
  1. @echo off&setlocal enabledelayedexpansion
  2. for /l %%i in (0 1 9) do (
  3.   set /a "num=3%%i4/2-39"
  4. if !num!==1%%i3 echo 1%%i3)
  5. pause
复制代码
我是NO.1 呀﹗不過.......@echo是在菜鳥比賽中....>.<

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. for /l %%i in (1 1 1000) do (
  3. set /a "flag=0,num+=%%i"
  4. if %%i gtr 4 (
  5.   set /a "n=%%i-5"
  6.    for %%j in (!n!) do set /a "m+=%%j"
  7.     set /a "num1=num-m"
  8.      for %%k in (4 5 6) do (
  9.       set /a "x=num1%%%%k"
  10.       if !x! neq 0 set "flag=1")
  11.       if !flag!==0 set "num2=%%i"&goto end))
  12. :end
  13. set /a "num3=num2-4"
  14. for /l %%i in (%num3% 1 %num2%) do set /p=%%i <nul
  15. pause>nul
复制代码
原來規律是1+2+...5=15, 2+3...+6=20,簡單複雜化了.......
我是NO.1 呀﹗不過.......@echo是在菜鳥比賽中....>.<

TOP

本帖最后由 keiamy 于 2014-2-11 14:08 编辑

程序6:參考了youxi01的
  1. @echo off&setlocal enabledelayedexpansion
  2. for /l %%i in (1 1 1000) do (
  3. set "flag=0"&set "a=!b!"
  4. set "b=!c!"&set "c=!d!"
  5. set "d=!e!"&set "e=%%i"
  6.   if "!a!" geq "1" (
  7.    set /a "num=a+b+c+d+e"
  8.     for %%j in (4 5 6) do (
  9.      set /a "n=!num!%%%%j"
  10.      if !n! neq 0 set "flag=1")
  11.      if !flag!==0 echo !a! !b! !c! !d! !e!&pause&exit))
复制代码
我是NO.1 呀﹗不過.......@echo是在菜鳥比賽中....>.<

TOP

回复 7楼 的帖子

能帮忙解释一下那两行吗?delims不是分割符的意思吗?我新手,怎么都看不懂
清风本无影,酒中笑红尘

TOP

【程序3】自己胡乱写了一个,前辈们别见笑哈。

  1. @echo off
  2. set s=1
  3. set t=9
  4. set p=9
  5. set /p page=请输入辞典的页码:
  6. set count=1
  7. :start
  8. if %p% geq %page% goto calc
  9. set /a count+=1
  10. set /a p*=10
  11. set /a t+=p*count
  12. goto start
  13. :calc
  14. set /a t-=p*count
  15. set /a t=(page-t)/count
  16. set /a count-=1
  17. for /l %%i in (1,1,%count%) do set /a s*=10
  18. set /a s+=t-1
  19. set /p=这本辞典共有%s%页。
复制代码

TOP

大哥,这是给新手做的吗?

我真郁闷了,这是给新手做的啊?用到数学逻辑推理,而且用到很多批处理命令。我倒!

TOP

做了一下午..做出来8个...

=========
大大们帮检查...
是不是给点奖励捏.....
========
end;

TOP

  1. @ echo off
  2. title=有四个数,其中任意三个数相加,求这四个数
  3. set /a num=(84+88+99+110)/3
  4. set /a num1=%num%-84
  5. set /a num2=%num%-88
  6. set /a num3=%num%-99
  7. set /a num4=%num%-110
  8. echo,第一个数%num1%
  9. echo,第二个数%num2%
  10. echo,第三个数%num3%
  11. echo,第四个数%num4%
  12. pause
复制代码

TOP

严重打击学习热情

TOP

程序8:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /l %%i in (1 1 1000) do (
  4. set /a n1="(%%i -75)*20"
  5. set /a n2="(%%i+100)*15"
  6. if !n1!==!n2! echo %%i
  7. )
复制代码

TOP

程序13
分析:买走的货物重量能被3整除,先计算总重量。分别减去每种货的重量。提取出能被3整除五除货物。本题恰好只能一个可以被3整除。答案很快就会出来。但为了计算两个客人都买走了那些货物,还需要对留下的5种货物进行循环计算,最终出结果。
  1. @echo off&setlocal enabledelayedexpansion
  2. cls
  3. echo.
  4. echo\   问题:商店里有六箱货物,分别重15、16、18、19、20、31千克,
  5. echo\两个顾客买走了其中五箱.已知一个顾客买的货物重量是另一个顾客的2倍,
  6. echo\那么,商店剩下的一箱货物重量是多少千克?
  7. echo\=====================================================================================
  8. set str0=15 16 18 19 20 31
  9. set/a total=15+16+18+19+20+31
  10. for %%i in (!str0!) do (
  11. set/a var1=%%i,md=total-var1,avr=md/3,ys=md%%3
  12. if !ys! equ 0 (
  13. set "str1=!str0:%%i =!"
  14. for %%j in (!str1!) do (
  15. set/a var2=%%j,var3=avr-%%j
  16. set "str2=!str1:%%j =!"
  17. for %%l in (!str2!) do (
  18. if !var3! equ %%l (
  19. set var4=!str2:%%l =!
  20. echo 答案:商店剩下的一箱货物重量是:!var1!
  21. echo 一客人买走了!var2! !var3!两箱的货物,另一客人分别买走了!var4!货物
  22. pause>nul&goto:eof
  23. )))))
复制代码
有更好的算法,请赐教。

TOP

程序5. 范了个低级错误。调了N次,终于调成了。

  1. @echo off&setlocal enabledelayedexpansion
  2. echo\有一个五位奇数,将这个五位奇数中的所有2都换成5,所有5也都换成2,其他数保持不变,
  3. echo\得到一个新的五位数,若新五位数的一半仍比原五位数大1,那么原五位数是多少?
  4. for /l %%i in (20005,10,29995) do (
  5. set num=%%i
  6. set var=!num:2=a!&set var=!var:5=2!&set var=!var:a=5!
  7. set/a var0=var/2-1
  8. if !var0! equ !num! (echo 答案是: !num!&pause&goto :eof)
  9. )
复制代码

[ 本帖最后由 inittab 于 2009-4-23 19:52 编辑 ]
1

评分人数

    • sjzong: 厉害!这个(20005 10 29995)可以节省循环 ...PB + 2

TOP

程序4
  1. @echo off&setlocal enabledelayedexpansion
  2. echo\阿聪说他这次去西北看见一群骆驼,共有23个驼峰,60只脚。请问单、双峰骆驼各多少只?
  3. set/a num=60/4
  4. for /l %%i in (1,1,!num!) do (
  5. set/a m=%%i,n=15-m
  6. set/a tf=m+2*n
  7. if !tf! equ 23 (echo\答:单、双峰骆驼各!m!,!n!只&pause&goto :eof)
  8. )
复制代码

TOP

返回列表