1、从键盘输入一个字符,判断这个字符是数字,还是大写字母,还是小写字母,还是符号。
for(1 -eq 1){
[char]$ch=read-Host "请输入一个字符"
$a="\d{1}"
$b="[a-z]{1}"
$c="[A-Z]{1}"
if($ch -cmatch $a){
Write-Output($ch+":是一个数字")
}elseif($ch -cmatch $b){
Write-Output($ch+":是小写字母")
}elseif($ch -cmatch $c){
Write-Output($ch+":是大写字母")
}else{
Write-Output($ch+":是符号")
}
}
pause
2、统计字符:从键盘输入一个字符,统计这个字符串当中包含几个大写字母,几个小写字母,几个数字,几个特殊字符。
[string]$str=read-Host "请输入字符串"
[char[]]$ch=$str.ToCharArray()
$a=0
$b=0
$c=0
$d=0
for($i=0; $i -lt $ch.Length; $i++){
$num=[int]($ch[$i])
if(($num -ge 48) -and ($num -le 57)){
$a++
}elseif(($num -ge 65) -and ($num -le 90)){
$b++
}elseif(($num -ge 97) -and ($num -le 122)){
$c++
}else{
$d++
}
}Write-Output("数字:"+$a+" 大写字母:"+$b+" 小写字母"+$c+" 字符:"+$d)
3、水仙花数:计算100-999的水仙花数,
for($i=100; $i -le 999;$i++){
[string]$num=$i
[int]$num1=$num.Substring(0,1)
[int]$num2=$num.Substring(1,1)
[int]$num3=$num.Substring(2)
if(($num1*$num1*$num1+$num2*$num2*$num2+$num3*$num3*$num3) -eq $num){
Write-Output("水仙花:"+$num)
}
}
5、九九乘法表
for($i =1; $i -le 9; $i++){
for($j=1; $j -le $i; $j++){
Write-Host("$j"+"*"+"$i"+"="+$j*$i+" ") -NoNewline
}
Write-Host("")
}
7、拆分字符串:“网络空间安全”,拆分成网络、络空、空间、间安、安全
[string]$str="网络空间安全"
$str1=$str.Split($str.Substring(2,4))
$str2=$str.Remove(0,1).Split("间安全")
$str3=$str.Remove(0,2).Split("安全")
$str4=$str.Remove(0,3).Split("全")
$str5=$str.Split($str.Substring(0,4))
Write-Host($str1,$str2,$str3,$str4,$str5) -NoNewline
8、对3,65,22,102,4进行降序排序
$num=3,65,22,102,4
for($i=0;$i -lt $num.Length;$i++){
for($j=0;$j -lt $num.Length-$i-1;$j++){
if($num[$j] -lt $num[$j+1]){
$max = $num[$j+1]
$num[$j+1] = $num[$j]
$num[$j] = $max
}
}
}
Write-Output($num)
9、计算200以内的所以质数
for($i=2; $i -lt 200; $i++){
for($j=2; $j -lt $i; $j++){
if($i%$j -eq 0){
break;
}
}
if($j -ge $i){
Write-Output($i)
}
}
10、设定总行数line可以修改,修改后仍能打印出line行的直角三角形。
[int]$line=Read-Host("请输入行数")
for($i =1; $i -le $line; $i++){
for($j=1; $j -le $i; $j++){
Write-Host("*") -NoNewline
}
Write-Host("")
}
[int]$line=Read-Host("请输入行数")
for($i =1; $i -le $line; $i++){
for($j=1; $j -le $line-$i; $j++){
Write-Host(" ") -NoNewline
}
for($j=1; $j -le 2*$i-1; $j++){
Write-Host("*") -NoNewline
}
Write-Host("")
}