VB:编一函数过程IsH(n),对于已知正整数n,判断该数是否是回文数

题目来源:大工慕课 链接
原题:Visual Basic程序设计教程(第二版)龚沛曾主编,高等教育出版社 实验6-5
作者:Caleb Sung

题目要求

编一函数过程IsH(n),对于已知正整数n,判断该数是否是回文数,函数的返回值类型为布尔型。主调程序每输入一个数,调用IsH函数过程,然后在图形框显示输入的数,对于是回文数显示一个”★”,如下图:
这里写图片描述

提示

  1. 所谓回文数是指顺读与倒读数字相同,即指最高位与最低位相同,次高位与次低位相同,依次类推。当只有一位数时,也认为是回文数。
  2. 回文数的求法,只要对输入的数(按字符串类型处理),利用MID函数从两边往中间逐位比较,若不相同,就不是回文数。

参考代码

Private Sub Text1_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
        If Not IsNumeric(Text1) Then
            MsgBox "输入非数字串,重新输入"
            Text1.Text = ""
            Text1.SetFocus
        Else
            If IsH(Text1) Then
                Picture1.Print Text1; " ★ "
            Else
                Picture1.Print Text1
            End If
            Text1 = ""
        End If
    End If
End Sub

Function IsH(ss As String) As Boolean
    Dim i%, Ls%
    IsH = True
    ss = Trim(ss)
    Ls = Len(ss)
    For i = 1 To Ls \ 2
        If Mid(ss, i, 1) <> Mid(ss, Ls + 1 - i, 1) Then
            IsH = False
            Exit Function
        End If
    Next i
End Function
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值