| 
 
bat-zw 
金牌会员
 
       永远的学习者
  
 
积分 3105 
发帖 1276 
注册 2008-3-8 
状态 离线
 | 
  『楼 主』:
 批处理再现九九乘法表
 
使用 LLM 解释/回答一下
  
  今天听到小女儿在背颂九九乘法口诀,突然就荫生了用批处理制作九九乘法表的念头,多少也找回点童年的记忆(为了排版整齐,在一位数前都加了0)。 
@echo off 
for /l %%i in (1,1,9) do set str= &call :lp %%i 
pause&goto :eof  
:lp 
cd. >temp.txt 
for /l %%i in (1,1,10) do ( 
    set a=%1&set b=%%i 
    set /p str=<temp.txt 
    setlocal enabledelayedexpansion 
    set /a c=!a!*!b! 
    if !c! gtr 9  (echo !str!0!a!*0!b!=!c! >temp.txt) else (echo !str!0!a!*0!b!=0!c! >temp.txt) 
    if !b! gtr !a! echo !str!&del temp.txt /q&goto :eof 
    endlocal 
) 
 Last edited by zw19750516 on 2008-4-4 at 09:23 PM ]  
 
    
 
 
 
  
  |  
                  
  
                    批处理之家新域名:www.bathome.net |   
 | 
  2008-4-4 21:14 | 
  
 | 
 | 
 
plp626 
银牌会员
 
      钻石会员
  
 
积分 2278 
发帖 1020 
注册 2007-11-19 
状态 离线
 | 
『第 2 楼』:
 
 
使用 LLM 解释/回答一下
  
转,学习下: 
@ECHO  OFF 
SETLOCAL ENABLEDELAYEDEXPANSION 
for /l %%i in (1,1,9) do ( 
      for /l %%j in (1,1,%%i) do ( 
      set /a h=%%i*%%j 
      set /p=%%i×%%j^=!h!	<nul 
      if %%i==%%j echo. 
      ) 
) 
pause
  
 
    
 
  
  |  
                  
  
                    山外有山,人外有人;低调做人,努力做事。 
 
进入网盘(各种工具)~~ 空间~~cmd学习 |   
 | 
  2008-4-4 22:30 | 
  
 | 
 | 
 
bat-zw 
金牌会员
 
       永远的学习者
  
 
积分 3105 
发帖 1276 
注册 2008-3-8 
状态 离线
 | 
『第 3 楼』:
 
 
使用 LLM 解释/回答一下
  
Originally posted by plp626 at 2008-4-4 22:30: 
转,学习下: 
 
@ECHO  OFF 
SETLOCAL ENABLEDELAYEDEXPANSION 
for /l %%i in (1,1,9) do ( 
      for /l %%j in (1,1,%%i) do ( 
      set /a h=%%i*%%j 
      set /p=%%i×%%j^=!h!	<nul 
     ... 
  
代码好简洁,但排版有大问题。  
 
    
 
  
  |  
                  
  
                    批处理之家新域名:www.bathome.net |   
 | 
  2008-4-5 00:03 | 
  
 | 
 | 
 
terse 
银牌会员
 
     
 
  
  
积分 2404 
发帖 946 
注册 2005-9-8 
状态 离线
 | 
『第 4 楼』:
 
 
使用 LLM 解释/回答一下
  
我也转一个 排版没问题吧 
@echo off&setlocal enabledelayedexpansion 
for /l %%a in (1,1,9) do ( 
        for /l %%b in (1,1,%%a) do ( 
        set /a i+=1 
        set /a ans=%%a*%%b 
        set ans=%%b×%%a=!ans!   
        set res=!res! !ans:~0,6! 
        if !i! equ %%a echo!res!&set res=& set i=0 
      ) 
    ) 
pause 
 
    
 
  
  |  
                  
  
                    简单!简单!再简单! |   
 | 
  2008-4-5 00:39 | 
  
 | 
 | 
 
26933062 
银牌会员
 
     
 
  
  
积分 2268 
发帖 879 
注册 2006-12-19 
状态 离线
 | 
『第 5 楼』:
 
 
使用 LLM 解释/回答一下
  
2楼的排版问题是因为论坛处理不了tab键。 
将set /p=%%i×%%j^=!h!        <nul  这里的“空格”换成tab就美观了。 
用空格来处理也可以,只是代码稍微长一点。 
如下。
  
@echo off&setlocal EnableDelayedExpansion 
for /l %%i in (1,1,9) do ( 
  for /l %%j in (1,1,%%i) do ( 
  set /a h=%%i*%%j 
  set "h=!h!  " 
  if %%j equ 1 (set h=!h:~0,2!) else (set h=!h:~0,3!) 
  set /p=%%j×%%i^=!h!<nul 
) 
  echo. 
) 
pause 
 
 Last edited by 26933062 on 2008-4-5 at 02:12 AM ]  
 
    
 
  
  |  
                  
  
                    致精致简! |   
 | 
  2008-4-5 01:50 | 
  
 | 
 | 
 
26933062 
银牌会员
 
     
 
  
  
积分 2268 
发帖 879 
注册 2006-12-19 
状态 离线
 | 
『第 6 楼』:
 
 
使用 LLM 解释/回答一下
  
4楼代码更好,也可以更简化 
:  
@echo off&setlocal enabledelayedexpansion 
for /l %%a in (1,1,9) do ( 
     for /l %%b in (1,1,%%a) do ( 
     set /a h=%%a*%%b 
     set "h=%%b×%%a=!h! " 
     set m=!m! !h:~0,6! 
    ) 
	echo !m!&set "m=" 
) 
pause  
 
  
 
    
 
  
  |  
                  
  
                    致精致简! |   
 | 
  2008-4-5 02:02 | 
  
 | 
 | 
 
terse 
银牌会员
 
     
 
  
  
积分 2404 
发帖 946 
注册 2005-9-8 
状态 离线
 | 
『第 7 楼』:
 
 
使用 LLM 解释/回答一下
  
Originally posted by 26933062 at 2008-4-5 02:02: 
4楼代码更好,也可以更简化 
: 
@echo off&setlocal enabledelayedexpansion 
for /l %%a in (1,1,9) do ( 
     for /l %%b in (1,1,%%a) do ( 
     set /a h=%%a*%%b 
     set "h ... 
  
26933062兄的提醒  原来也可以这样  哈~
 
@echo off&setlocal enabledelayedexpansion 
for /l %%a in (1,1,9) do ( 
     for /l %%b in (1,1,%%a) do ( 
     set /a h=%%a*%%b 
     set "h=!h! " 
     set /p=%%b×%%a=!h:~0,2! <nul 
    ) 
    echo. 
   ) 
pause  
 
    
 
  
  |  
                  
  
                    简单!简单!再简单! |   
 | 
  2008-4-5 03:51 | 
  
 | 
 | 
 
aliang10520 
初级用户
 
  
 
  
  
积分 47 
发帖 24 
注册 2008-3-12 
状态 离线
 | 
 | 
  2008-4-5 09:49 | 
  
 | 
 | 
 
xtanbmy 
初级用户
 
  
 
  
 
积分 47 
发帖 31 
注册 2008-3-17 
状态 离线
 | 
 | 
  2008-4-7 19:06 | 
  
 |