出题目的:
掌握将常量字符转划成数字变量的方法
掌握随机取值的方法
加分规则:
满分10分,视情形加分(以思路为重)
解题限制:
此题仅限普通会员作答,技术组和管理层可做解题指导,如贴出代码,则法不容情
题目如下:
编写批处理代码,当使用者输入1-26(因为字母有26个)间的任意一个数后,程序在
26个字母中再随机生成一个不等于输入位序上字母的字母(a-z的位序为1-26),最后程序
将这两个字母中的所有字母在一行内列出,示例如下:- 请输入1-26中的任意一个数值:18
- g和r之间的字母是:hijklmnopq
复制代码 给出参考答案如下:- @echo off
- set "code=abcdefghijklmnopqrstuvwxyz"
- set /p input=请输入1-26内的任意数值:
- :lp
- set /a _random=%random%%%26+1,a=_random-input
- if "%a:-=%" lss "2" goto lp
- if %_random% gtr %input% (
- set /a a=input,b=27-_random,c=a-1,d=_random-1
- ) else (
- set /a a=_random,b=27-input,c=a-1,d=input-1
- )
- call,set /p=%%code:~%c%,1%%和%%code:~%d%,1%%间的字母是:%%code:~%a%,-%b%%%<nul
- pause>nul
复制代码
[ 本帖最后由 batman 于 2009-4-9 00:15 编辑 ] |