powershell 课后习题

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

[char]$unknown = Read-Host("请输入一个字符")
[int]$num = $unknown
if($num -ge 48 -and $num -le 57){
Write-Output("输入的字符是数字。")
}elseif($num -ge 65 -and $num -le 90){
Write-Output("输入的字符是大写字母。")
}elseif($num -ge 97 -and $num -le 122){
Write-Output("输入的字符是小写字母。")
}else{
Write-Output("输入的是符号。")
}

2.判断一个字符串有多少大小写字母数字符号

[string]$str = Read-Host("请输入一个字符串")
[char[]]$char_array = $str.ToCharArray()
[int]$length = $char_array.Length
[int]$Up_Length = 0
[int]$Down_Length = 0
[int]$Num_Length = 0
[int]$Sign_Length = 0
for($i = 0;$i -lt $length;$i++){
[int]$dec = $char_array[$i]
if($dec -ge 48 -and $dec -le 57){
$Num_Length+=1
}elseif($dec -ge 65 -and $dec -le 90){
$Up_Length+=1
}elseif($dec -ge 97 -and $dec -le 122){
$Down_Length+=1
}else{
$Sign_Length+=1
}
}
Write-Output("有{0}个大写字母,有{1}个小写字母,有{2}个数字,有{3}个符号" -f $Up_Length,$Down_Length,$Num_Length,$Sign_Length)

3.求证水仙花数

[int]$num_1 = 0
[int[]]$num_2 = 0,0,0

for($i = 100;$i -le 999;$i++){
[string]$i_str = $i
for($j = 0;$j -lt 3;$j++){
[int]$num_demo = $i_str.Substring($j,1)
$num_2[$j] = $num_demo * $num_demo * $num_demo
$num_1 = $num_2[0] + $num_2[1] + $num_2[2]
if($i -eq $num_1){
Write-Output($i)
}
}
}

4.判断字符串,输入一个字符串,判断字符串是否可以转换成一个有效的数字

[string]$str = Read-Host("请输入一个字符串")
[char[]]$char_array = $str.ToCharArray()
[int]$Length = $str.Length
#Num定义转成ascll码的整数
[int]$Num = 0
#Num_1定义输入的字符串中数字的个数
[int]$Num_1 = 0
for($i = 0;$i -lt $Length;$i++){
$Num = $char_array[$i]
if($Num -ge 48 -and $Num -le 57){
$Num_1++
}
}
if($Num_1 -eq $Length){
Write-Output("该字符串可以转换成数字")
}else{
Write-Output("该字符串不可以转换成数字")
}


5.打印九九乘法表

for($i = 1;$i -le 9;$i++){
for($j = 1;$j -le $i;$j++){
$z = $i * $j
Write-Host -NoNewline("{0}*{1}={2} " -f $i,$j,$z)
}
Write-Output("")
}

6.一个10000以内的整数,它加上100和加上268后都是一个完全平方数,请问这个数是多少

for($i = 1;$i -lt 10000;$i++){
$i_100 = $i + 100
$i_268 = $i + 268
for($j = 1;$j -lt 100;$j++){
if($i_100 -eq $j*$j){
for($k = $j++;$k -lt 100;$k++){
if($i_268 -eq $k*$k){
Write-Output($i)
}
}
}
}
}

7.拆分字符串,“网络信息安全”,拆成“网络”,“络信”,“信息”,“息安”,“安全”

[string]$str = "网络空间安全"
[char[]]$str_array = $str.ToCharArray()
[int]$Length = $str_array.Length
for($i = 0;$i -lt $Length-1;$i++){
Write-Output($str_array[$i]+$str_array[$i+1])
}

8.对3,65,22,102,4进行降序排列,冒泡排序

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

9.计算200以内的所有质数

for($i = 2;$i -lt 1000;$i++){
for($j = 2;$j -lt $i;$j++){
if($i%$j -eq 0){
Break;
}
}
if($i -eq $j){
Write-Output($i)
}
}

10.打印三角形

 

[int]$num = Read-Host("请输入一个数字")
for($i = 0;$i -lt $num;$i++){
for($j = 0;$j -le $i;$j++){
Write-HOST -NoNewline ("*")
}
Write-Output("")
}

[int]$num = Read-Host("请输入一个奇数")
[int]$num_1 = $num/2
for($i = 0;$i -lt $num_1;$i++){
for($j = 1;$j -le $num_1-$i-1;$j++){
Write-HOST -NoNewline (" ")
}
for($j = 0;$j -le $i*2;$j++){
Write-HOST -NoNewline ("*")
}

Write-Output("")
}

 

猜你喜欢

转载自www.cnblogs.com/kyooo/p/13205604.html