AI智能
改变未来

Windows PowerShell 习题

1、从键盘输入一个字符,判断这个字符是数字,还是大写字母,还是小写字母,还是符号。

[string]$str = Read-Host \"请输入一个字符\"if($str.Length -ne 1){echo \"请重新输入一个字符\"}else{if($str -clike \"[0-9]\"){echo \"你输入的是一个数字\"}elseif($str -clike \"[a-z]\"){echo \"你输入的是一个小写字母\"}elseif($str -clike \"[A-Z]\"){echo \"你输入的是一个大写字母\"}else{echo \"你输入的是一个特殊字符\"}}
Write-Output(\"请输入一个字符:\")[char]$c=Read-Host[int]$int_char = $cif(($int_char -ge 48)-and ($int_char -le 57)){Write-Output(\"这是一个数字\")}elseif(($int_char -ge 65)-and ($int_char -le 90)){Write-Output(\"这是一个大写字母\")}elseif(($int_char -ge 97)-and ($int_char -le 122)){Write-Output(\"这是一个小写字母\")}else{Write-Output(\"这是一个特殊符号\")}

2、统计字符

[string]$str = Read-Host \"请输入一个字符串\"$len = $str.Length[int]$a = 0[int]$b = 0[int]$c = 0[int]$d = 0for($i = 1;$i -le $len;$i++){[string]$n = $str.Substring($i-1,1)if($n -clike \"[a-z]\"){$a++}elseif($n -clike \"[A-Z]\"){$b++}elseif($n -clike \"[0-9]\"){$c++}else{$d++}}echo \"你输入的字符串:有 $a 个小写字母有 $b 个大写字母有 $c 个数字有 $d 个特殊符号\"

3、计算100-999的水仙花数

for($i=100;$i -lt 1000;$i++){[string]$s=$i[int]$bai = $s.SubString(0,1)[int]$shi = $s.SubString(1,1)[int]$ge = $s.SubString(2)if(($bai*$bai*$bai)+($shi*$shi*$shi)+($ge*$ge*$ge) -eq $i){Write-Output(\"这是一个水仙花数:{0}\" -f $i)}}
  1. 字符串判断:从键盘输入一个字符串,判断该字符串是否可以被转换为一个有效的数字。
Write-Output(\"请输入一个字符串:\")$s = Read-Host$else = \"[^0-9]\"if($s.Length -eq 1){Write-Output(\"能被转换为一个有效的数字\")}elseif($s.Length -ge 2){if($s -match $else){Write-Output(\"不能被转换为一个有效的数字\")}else{Write-Output(\"能被转换为一个有效的数字\")}}

5、打印99 乘法表。

for($i=1;$i -lt 10;$i++){for($j=1;$j -le $i;$j++){$sum = $i * $jWrite-Host(\"{0} * {1} = {2}  \" -f $i,$j,$sum) -nonewline}Write-Output(\"\")}
  1. 一个10000 以内整数,它加上100 和加上268 后都是一个完全平方数,请问该数是多少?
for($i=1;$i -lt 10000;$i++ ){for($j=1;$j -lt 100;$j++ ){if(($j*$j) -eq ($i + 100) ){for($k=1;$k -lt 100;$k++ ){if(($k*$k) -eq ($i + 268)){Write-Output($i)}}}}}

7.拆分字符串:“网络空间安全”,拆分成网络、络空、空间、间安、安全

$s=\"网络空间安全\"Write-Output($s.Substring(0,2))Write-Output($s.Substring(1,2))Write-Output($s.Substring(2,2))Write-Output($s.Substring(3,2))Write-Output($s.Substring(4))

8.对3、65、22、102、4 进行降序排序。

$array_data=3,65,22,102,4for($i=0;$i -lt $array_data.Length - 1;$i++){for($j=0;$j -lt ($array_data.Length-1-$i);$j++){if($array_data[$j+1] -gt $array_data[$j]){$temp=$array_data[$j]$array_data[$j]=$array_data[$j+1]$array_data[$j+1]=$temp}}}Write-Output($array_data)

9.9. 计算200 以内的所有质数(即只有1 和其自身能够被这个数整除的数),建议使用至少3 种算法实现,看看哪一种算法的运算次数最少。

//方法1:判断比 i 小的数里面是否有 i 的因数,有的话,则不是质数;反之就是质数for($i=2;$i -le 200;$i++){for($j=2;$j -lt $i;$j++){$flag=1if(($i%$j) -eq 0){$flag=0break}}if($flag -eq 1){Write-Output($j)}}

10.设定的总行数line 可以随机修改,修改后仍然能打印出line 行的直角三角形。

打印如下两种三角形图形:

for($i=1;$i -lt 6;$i++){for($j=0;$j -lt $i;$j++){Write-Host \"*\" -NoNewline}Write-Output(\"\")}
for($i=1;$i -lt 6;$i++){for($j=6-$i;$j -gt 1;$j--){Write-Host \" \" -NoNewline}for($k=0;$k -lt ($i+$i-1);$k++){Write-Host \"*\" -NoNewline}Write-Output(\"\")}``
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » Windows PowerShell 习题