irresolute 当前离线
六级士官
@echo off setlocal enabledelayedexpansion set /a a=1 for /l %%i in (1,1,9) do ( set /a b=2*!a!+2 set /a a=!b! ) echo 第一天摘的桃子数是 !a! pause>nul复制代码
TOP
@echo off setlocal enabledelayedexpansion for /l %%i in (1,2,7) do ( set /a n=%%i for /l %%j in (1,1,!n!) do ( set /p=*<nul ) echo. ) for /l %%i in (5,-2,1) do ( set /a n=%%i for /l %%j in (1,1,!n!) do ( set /p=*<nul ) echo. ) pause>nul复制代码
@echo off setlocal enabledelayedexpansion set /a s=0 for /l %%i in (1,1,20) do ( set /a k=%%i set /a s1=1 for /l %%j in (1,1,!k!) do ( set /a s1*=%%j ) set /a s+=!s1! ) echo !s!&pause>nul复制代码
@echo off setlocal enabledelayedexpansion :main set a= set /p a=请输入一个五位数 if "!a:~0,1!"=="!a:~4,1!" ( if "!a:~1,1!"=="!a:~3,1!" (echo !a!是回文) else echo !a!不是回文 ) else ( echo !a!不是回文 ) pause>nul goto :main复制代码
@echo off setlocal enabledelayedexpansion set /a n=5 set b= call :loop 5 echo 第五个人!b!岁 pause>nul goto :eof :loop set /a n=%1 set /a n-=1 if !n!==0 (set /a b=10 & goto :eof) else ( call :loop !n! set /a b+=2 )复制代码
sjzong 当前离线
@echo off ::有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? ::原创:sjzong setlocal enabledelayedexpansion set num=0 for /l %%i in (1 1 4) do ( for /l %%j in (1 1 4) do ( for /l %%k in (1 1 4) do ( if %%i neq %%j if %%i neq %%k if %%k neq %%j (echo %%i%%j%%k & set /a num=!num!+1) ) ) ) echo !num! pause复制代码
@echo off setlocal enabledelayedexpansion ::原创:sjzong echo 请输入十个数字…… set str= for /l %%a in (1 1 10) do ( set /p shuzi=请输入%%a个数: set str=!str! !shuzi! ) set zimu=ABCDEFGHIJ set ss= for %%b in (!str!) do ( set count=0 for %%c in (!str!) do if %%b geq %%c set /a count=!count!+1 set /a count=!count!-1 set ss=!ss! !count! ) for /l %%d in (0 1 9) do ( set cou= for %%e in (!ss!) do if %%d==%%e set /a cou=!cou!+1 for /l %%f in (1 1 !cou!) do set num=!num! !zimu:~%%d,1! ) for %%i in (!str!) do ( set count=0 for %%j in (!str!) do if %%i geq %%j set /a count=!count!+1 set /a count=!count!-1 if !count!==0 set num=!num:A=%%i! if !count!==1 set num=!num:B=%%i! if !count!==2 set num=!num:C=%%i! if !count!==3 set num=!num:D=%%i! if !count!==4 set num=!num:E=%%i! if !count!==5 set num=!num:F=%%i! if !count!==6 set num=!num:G=%%i! if !count!==7 set num=!num:H=%%i! if !count!==8 set num=!num:I=%%i! if !count!==9 set num=!num:J=%%i! ) echo 你输入的十个数字是:!str! echo 排序后的十个数字是:!num! pause复制代码
a5417871 当前离线
一级士官
@echo off ::打印杨辉三角 ::原创:sjzong setlocal enabledelayedexpansion set str= 1 echo !str! for /l %%a in (1 1 9) do ( ::求出上一个数列的相邻两个数的和。 set num1=1 for %%b in (!str!) do ( ::num1是用来控制是相邻两数的前一个数%%i;num2为后一个数%%j set /a num1=!num1!+1 set /a shu=!num1!+1 set num2=1 for %%c in (!str!) do ( set /a num2=!num2!+1 if !num2!==!shu! set /a sum=%%b+%%c ) set str1=!str1! !sum! set sum= ) ::在求出每相邻两数之和后,在前后各加上1 set str=1!str1!1 ::用来打印时在数字的前面加上空格 set /a a=10-%%a set b= for /l %%d in (0 1 !a!) do (set b= !b!) set str=!b!!str! set str1= echo !str! ) pause复制代码
评分人数
@echo off&setlocal EnableDelayedExpansion ::程序分析: 注意是先吃一半再吃一个则公式是a=2*(a+1) ::原创:sjzong set num=1 echo 第10天时有!num!个桃子 for /l %%i in (9 -1 1) do ( set /a num=!num!*2+2 echo 第 %%i天时有!num!个桃子) pause复制代码
@echo off&setlocal EnableDelayedExpansion ::程序分析:这些桃子,每一只猴子来分的时候,把桃子的数量减一后必须是五的倍数!所以五只猴子来分,必须进行五次判断的! ::程序中的num是用来判断是否达到五次判断! ::原创:sjzong for /l %%i in (1 1 10000) do ( set /a a=%%i set /a num=0 for /l %%j in (1 1 5) do ( set /a b=!a!-1 set /a c=!b! %% 5 if !c! == 0 ( set /a a=!b!/5 set /a a=!a!*4 set /a num=!num!+1) ) if !num!==5 (echo 最少要%%i只桃子 & goto :end) ) :end pause复制代码
@echo off setlocal enabledelayedexpansion ::原创:sjzong echo 请输入十个数字…… ::读入10个数字,分别放在t1~t10内,并把数字合成一行,中间加个空格。 set str= for /l %%a in (1 1 10) do ( set /p t%%a=请输入%%a个数: set str=!str! !t%%a! ) echo 排序前的数字序列是:!str! ::数字排序是采用冒泡排序的,每相邻的两个数进行比较,大的放在后面。 ::要进行9趟比较,第1趟求出最大放在最后一个数…第9趟是剩下两个数进行比较 ::其实t%%b代表相邻的前一个数,b代表相邻的后一个数,比较后进行交换 for /l %%a in (1 1 9) do ( set /a a=10-%%a for /l %%b in (1 1 !a!) do ( set /a c=%%b+1 set /a b=t!c! if !t%%b! gtr !b! ( set /a temp=t%%b set /a t%%b=t!c! set /a t!c!=!temp! ) ) ) ::把排序后的数字排列出来 set str= for /l %%a in (1 1 10) do ( set str=!str! !t%%a! ) echo 排序后的数字序列是:!str! pause复制代码
@echo off setlocal enabledelayedexpansion ::原创:sjzong echo 请输入十个数字…… ::读入10个数字,分别放在t1~t10内,并把数字合成一行,中间加个空格。 set str= for /l %%a in (1 1 10) do ( set /p t%%a=请输入%%a个数: set str=!str! !t%%a! ) echo 排序前的数字序列是:!str! ::数字排序是采用选择排序的,取第1个数跟后面的9个数进行比较,大的话进行交换。 ::然后取第2个数跟后面的8个数进行比较,大的进行交换,以此类推。 for /l %%a in (1 1 9) do ( set /a a=%%a+1 for /l %%b in (!a! 1 10) do ( if !t%%a! gtr !t%%b! ( set /a temp=t%%a set /a t%%a=t%%b set /a t%%b=!temp! ) ) ) ::把排序后的数字排列出来 set str= for /l %%a in (1 1 10) do ( set str=!str! !t%%a! ) echo 排序后的数字序列是:!str! pause复制代码
@echo off setlocal enabledelayedexpansion ::原创:sjzong ::程序分析:每个数的分子是上一个数的分子与分母之和,分母为上一个数的分子 ::fz为分子,fm为分母 set fz=1 set fm=1 set qiuji=1 set qiuhe=0 echo 正在输出这二十个数…… for /l %%i in (1 1 20) do ( set /a c=!fm! set /a fm=!fz! set /a fz=!fz!+!c! echo !fz!^/!fm! set /a qiuji=!qiuji!*!fz!/!fm! set /a qiuhe=!qiuhe!+!fz!/!fm! ) echo. echo 这二十个数的积为:!qiuji! echo 这二十个数的和为:!qiuhe! echo. pause复制代码
tyc 当前离线
二级士官
::题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。 @echo off setlocal enabledelayedexpansion set /a b=1,a=2 set s= for /l %%i in (1,1,20) do ( set /a c=b+a echo !a!/!b! set /a s=s+!a!/!b! set /a b=a set /a a=c ) echo %s% pause>nul复制代码