• 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("")
    }

     

  • 相关阅读:
    学习vim命令:“:w !sudo tee %”
    mac下安装和卸载软件
    很好用的在线markdown编辑器
    doc2vec 利用gensim 生成文档向量
    C语言经典算法100例-024-求数列的前20 项和,2/1,3/2,5/3,8/5...
    C语言经典算法100例-023-打印菱形
    C语言经典算法100例-022-乒乓球比赛名单问题
    C语言经典算法100例-021-猴子吃桃问题
    C语言经典算法100例-020-小球自由下落问题
    C语言经典算法100例-019-求完数
  • 原文地址:https://www.cnblogs.com/kyooo/p/13205604.html
Copyright © 2020-2023  润新知