回 帖 发 新 帖 刷新版面

主题:设计一个程序,判断一个数是不是回文数,

判断一个数是不是回文数(位数大于2)

回复列表 (共7个回复)

沙发

给你个提示
把它变成单个的字符去判断.....可能就变的简单了...遥想当年..我是这样解决的..虽然老师提供了其他的办法

板凳

办法有很多很多,要你慢慢去分别多去尝试,掌握了不同的方法,分辨不同的效率,技术就到你口袋里去了.

3 楼

多射指点
我编的程序,但多于9位就不好用
我不用很复杂的,只要能运行出结果就可以了


input a,n
if n mod 2 =0 then
 m=n/2
else 
 m=(n-1)/2
end if
i=1
do
 b=a mod 10
 c = a\10^(n-1)
 n=n-2
 a=a\10
 a=a-c*10^n
 i=i+1
loop until b<>c or i>m
if i>m then
 ptint "yes"
else 
 print "no"
end if
end

4 楼

我也给LZ个小提醒。
貌似我老师是这样说的.
用左截取函数 截取左边的,然后用中截取函数 从右边第一个开始,一个一个截取,他不是字符穿嘛,然后连接起来就OK了,具体我也没做过.LZ试试

5 楼


[em8][em15][em19][em20]
cls
input n$
l=len(n$)
for i=1 to l\2
 if mid$(n$,i,1)<>mid$(l+1-i,1) then ? "no":end
next i
print "yes"
end
[em3][em6][em7][em9]

6 楼

CLS
INPUT N
A$=LTRIM$(STR$(N))
FOR I=1 TO LEN(A$)
A(I)=VAL(MID$(A$,I,1))
NEXT I
FOR I=1 TO LEN(A$)
IF A(I)<>A(LEN(A$)+1-I) THEN F=1
NEXT I
IF F<>1 THEN PRINT "YES" ELSE PRINT "NO"
END

7 楼

cls
input n$
l=len(n$):dim a(l)
for i=1 to l:a(i)=val(mid$(n$,i,1)):next i
for i=1 to l
  if a(i)<>a(l+1-i) then print "不是回文数!":end
next i
print "是回文数!"
end

我来回复

您尚未登录,请登录后再回复。点此登录或注册