Board logo

标题: 如何用批处理显示一个金字塔出来? [打印本页]

作者: anqing     时间: 2007-2-18 07:53    标题: 如何用批处理显示一个金字塔出来?
如何用批处理显示一个金字塔出来?

不能全用echo!


如下: *
****
********
10层的金字塔

作者: huzixuan     时间: 2007-2-18 08:53
作者: slore     时间: 2007-2-18 09:34
@echo off
setlocal enabledelayedexpansion
set empty=
for /l %%i in (1,1,10) do (
set empty=!empty:~1!
set str=!str!顶
echo !empty!!str!
)
pause>nul

汉字占2个字节~所以这样就可以了……但是如果把“顶”换成“*”就对7了……

作者: anqing     时间: 2007-2-18 12:49
漂亮,加分

作者: anqing     时间: 2007-2-18 13:12
@echo off
setlocal enabledelayedexpansion
set empty=
for /l %%i in (1,1,10) do (
set empty=!empty:~1!
set str=!str!新
echo !empty!!str!
)
setlocal enabledelayedexpansion
set empty1=
for /l %%i in (1,1,10) do (
set empty1=!empty1:~1!
set str1=!str1!年
echo !empty1!!str1!
)
setlocal enabledelayedexpansion
set empty2=
for /l %%i in (1,1,10) do (
set empty2=!empty2:~1!
set str2=!str2!快
echo !empty2!!str2!
)
setlocal enabledelayedexpansion
set empty3=
for /l %%i in (1,1,10) do (
set empty3=!empty3:~1!
set str3=!str3!乐
echo !empty3!!str3!
)
pause>nul
学习一下

作者: slore     时间: 2007-2-18 13:14
呵呵,新年快乐!!

作者: anqing     时间: 2007-2-18 13:17
希望能横排显示,正在想!有人想出来,发出来呀?

作者: slore     时间: 2007-2-18 13:37
@echo off
setlocal enabledelayedexpansion
set empty=
for /l %%i in (1,1,10) do (
set empty=!empty:~1!
set str1=!str1!新
set str2=!str2!年
set str3=!str3!快
set str4=!str4!乐
echo !empty!!str1!!empty!!empty!!str2!!empty!!empty!!str3!!empty!!empty!!str4!
)
pause>nul

作者: 6622186     时间: 2007-2-18 13:46    标题: 赞杨
太棒了

作者: anqing     时间: 2007-2-18 13:52
好极了,希望能倒三角显示
就是把上面的,倒着显示,连在一起,字体为红色!

作者: slore     时间: 2007-2-18 14:08
@echo off
color Fc
setlocal enabledelayedexpansion
::set empty=
set str1=新新新新新新新新新新
set str2=年年年年年年年年年年
set str3=快快快快快快快快快快
set str4=乐乐乐乐乐乐乐乐乐乐
for /l %%i in (1,1,9) do (
set empty=!empty!
set str1=!str1:~1!
set str2=!str2:~1!
set str3=!str3:~1!
set str4=!str4:~1!
echo !empty!!str1!!empty!!empty!!str2!!empty!!empty!!str3!!empty!!empty!!str4!
)
pause>nul

作者: slore     时间: 2007-2-18 14:17
你再看看这个吧~哈哈

@echo off
color Fc
setlocal enabledelayedexpansion
set empty=
set str1=新新新新新新新新新新
::set str2=年年年年年年年年年年
set str3=快快快快快快快快快快
::set str4=乐乐乐乐乐乐乐乐乐乐
for /l %%i in (1,1,9) do (
set empty=!empty!
set str1=!str1:~1!
set str2=!str2!年
set str3=!str3:~1!
set str4=!str4!乐
echo !empty!!str1!!str2!!str3!!str4!
)
pause>nul

作者: anqing     时间: 2007-2-18 14:47
把你传我的,发了
@echo off
color Fc
setlocal enabledelayedexpansion
set empty=
for /l %%i in (1,1,9) do (
set empty=!empty:~1!
set str5=!str5!新
set str6=!str6!年
set str7=!str7!快
set str8=!str8!乐
echo !empty!!str5!!empty!!empty!!str6!!empty!!empty!!str7!!empty!!empty!!str8!
)
set empty1=
set str1=新新新新新新新新新
set str2=年年年年年年年年年
set str3=快快快快快快快快快
set str4=乐乐乐乐乐乐乐乐乐
for /l %%j in (1,1,8) do (
set empty1=!empty1!
set str1=!str1:~1!
set str2=!str2:~1!
set str3=!str3:~1!
set str4=!str4:~1!
echo !empty1!!str1!!empty1!!empty1!!str2!!empty1!!empty1!!str3!!empty1!!empty1!!str4!
)

pause>nul

作者: namejm     时间: 2007-2-21 03:46
正金字塔一:

@echo off
set num=5
setlocal enabledelayedexpansion
for /l %%i in (1,2,10) do (
for /l %%j in (1,1,!num!) do set /p= <nul
set /a num-=1
for /l %%j in (1,1,%%i) do set /p=*<nul
echo.
)
pause

正金字塔二:

@echo off
setlocal enabledelayedexpansion
for /l %%i in (1,1,10) do (
set /a num=10-%%i
for /l %%j in (1,1,!num!) do set /p= <nul
for /l %%j in (1,1,%%i) do set /p=顶<nul
echo.
)
pause

倒金字塔一:

@echo off
setlocal enabledelayedexpansion
for /l %%i in (9,-2,1) do (
set /a num+=1
for /l %%j in (1,1,!num!) do set /p= <nul
for /l %%j in (1,1,%%i) do set /p=*<nul
echo.
)
pause

倒金字塔二:

@echo off
setlocal enabledelayedexpansion
for /l %%i in (10,-1,1) do (
set /a num+=1
for /l %%j in (1,1,!num!) do set /p= <nul
for /l %%j in (1,1,%%i) do set /p=顶<nul
echo.
)
pause

作者: anqing     时间: 2007-2-21 04:04
代码学习了。

作者: htysm     时间: 2007-2-22 05:56
强帖。学习了。