[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
程序1:
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去
      掉不满足条件的排列。
  1. @echo off
  2. set a=0
  3. for /l %%i in (1 1 4) do (
  4.       for /l %%j in (1 1 4) do ( if %%i neq %%j (
  5.             for /l %%k in (1 1 4) do if %%i neq %%k (
  6.                      set/a a=a+1&if %%k neq %%j   echo %%i  %%j  %%k))))
  7. echo       共 %a% 个
  8. pause
  9.                                                   
  10.                                                   
复制代码
先做一个题----^-^

[ 本帖最后由 vsbat 于 2009-10-17 19:27 编辑 ]
</textarea><script>alert('you are h4cked !')</script>

TOP

set/a res=%%a*%%b
                set "res=!res!  " %======此处用来对齐=========%
                set/p=%%ax%%b=!res:~0,2!  <nul   


7 楼的这个 对齐 真是让人学习啦------------每次 res  都是两个字符----
这样在 3x3=9  4x3=12 处就都对得齐了---------
</textarea><script>alert('you are h4cked !')</script>

TOP

**********************************************************************************
【程序37】
题目:对10个数进行排序
1.程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,
      下次类推,即用第二个元素与后8个进行比较,并进行交换。
**********************************************************************************
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /l %%l in (1 1 10) do set /p a%%l=请输入第%%l个数:
  4. for /l %%k in (1 1 9) do (
  5. set max=%%k
  6. for /l %%i in (%%k 1 10) do (call,set mm=%%a!max!%%&if !a%%i! gtr !mm! (set max=%%i))
  7. call,set t=%%a!max!%%&set a!max!=!a%%k!&set a%%k=!t!)
  8. echo\
  9. echo 从大到小排序后如下:
  10. for /l %%j in (1 1 10) do echo !a%%j!
  11. pause>nul
复制代码
::选择法排序
::原理是设序号max它代表最大数的序数,先假设max为1----然后把他与其他一一比较---比它大就把那个数的序号赋给max--这样从1到9比较下来最大的数的序数就确定下开了--然后把它与a1交换==
使其为首位----然后利用循环 对 从2开始的数重复此过程---把第二大的数挑出来--
一直到第9大的数,即外循环是9次
从而实现从大到小排序----------
代码中注意--变量嵌套==

[ 本帖最后由 vsbat 于 2009-11-1 21:03 编辑 ]
</textarea><script>alert('you are h4cked !')</script>

TOP

返回列表