找出所有4位數的升序數和迴文數,使用函式實現迴文數和升序數的判斷。用VB程式設計,求高手指點,馬上啊

2022-03-04 19:44:24 字數 4030 閱讀 4283

1樓:匿名使用者

vb6.0版本的可以嗎?

我用的是構成法。

option explicit

dim a, b, c, d, n

private sub command1_click()

for a = 1 to 9

for b = 0 to 9

n = a * 1000 + b * 100 + b * 10 + a

list1.additem n

next

next

end sub

private sub command2_click()

for a = 1 to 6

for b = a + 1 to 7

for c = b + 1 to 8

for d = c + 1 to 9

n = a * 1000 + b * 100 + c * 10 + d

list2.additem n

next

next

next

next

end sub

上面用的是構成法。

判斷的:

option explicit

dim s(4)

'迴文數,用函式判斷法

private sub command1_click()

dim n as integer

for n = 1001 to 9999

if (huiwennun(n)) then list1.additem n

next

end sub

'採用數字分離法

function huiwennun(n as integer) as boolean

dim a, b, c, d

a = int(n / 1000)

b = int((n - a * 1000) / 100)

c = int((n - a * 1000 - b * 100) / 10)

d = n - a * 1000 - b * 100 - c * 10

if a = d and b = c then huiwennun = true

end function

'升序數,沒有重複數字的

private sub command2_click()

dim n as integer

'for n = 1000 to 9999

for n = 1234 to 6789

if (sxnun(1234)) then list2.additem n

next

end sub

'與上面不用的數字分離方法。還可以「按位」提取數字

function sxnun(n as integer) as boolean

s(1) = mid(n, 1, 1)

s(2) = mid(n, 2, 1)

s(3) = mid(n, 3, 1)

s(4) = mid(n, 4, 1)

if s(1) < s(2) and s(2) < s(3) and s(3) < s(4) then sxnun = true

end function

2樓:匿名使用者

dim i as long

private sub command1_click()

for i = 1000 to 9999

if sxs(i) then list1.additem i

next i

end sub

private sub command2_click()

for i = 1000 to 9999

if hws(i) then list2.additem i

next i

end sub

private sub form_load()

command1.caption = "升序數"

command2.caption = "迴文數"

end sub

private function sxs(intsxs as long) as boolean

'判斷一個數是不是升序數

dim strsxs as string, i as integer

strsxs = ltrim(str(intsxs))

sxs = true

for i = 1 to len(strsxs) - 1

if mid(strsxs, i + 1, 1) <= mid(strsxs, i, 1) then

sxs = false

exit function

end if

next i

end function

private function hws(inthws as long) as boolean

'判斷一個數是不是迴文數

dim strhws as string, i as integer

hws = true

strhws = ltrim(str(inthws))

for i = 1 to int((len(strhws) + 1) / 2)

if mid(strhws, i, 1) <> mid(strhws, len(strhws) - i + 1, 1) then

hws = false

exit function

end if

next i

end function

3樓:衫達智和

。。。。。。。。。。。。

vb編寫function過程,判斷數字是否是迴文數。程式要求輸入一系列數字,找出所有的迴文數並顯示在文字框中 50

用c++編寫程式求10~2000之間所有的迴文數,判斷一個數是否為迴文數。要用函式fun(int n)來實現。

4樓:匿名使用者

long re(int a)

int nonre(lint n)//判斷給定的整數是否為迴文數return 0;//不是返回0

} void main()

printf("here we reached the aim at last.\n");//輸出最好得到的迴文數}

5樓:匿名使用者

#include

using namespace std;

int main()

bool fun(int n)

;a[0] = n/1000;//千位

a[1] = (n/100)%10;//百位a[2] = (n%100)/10;//十位a[3] = n%10;//個位

if(a[0])

else

return 0;}

6樓:

迴文數 是什麼數呀?

編寫vb程式,找出給定範圍內所有的迴文數

7樓:匿名使用者

private sub command1_click()dim a as string, n as integer, i as integer

a = text1.text

n = len(a)

for i = 1 to n

if mid(a, i, 1) <> mid(a, n - i + 1, 1) then exit for

next i

if i = n+1 then

print "是迴文數

"else

print "不是迴文數"

end if

end sub

8樓:劉師傅的一生

迴文?都不知道你在說什麼,我要舉報你

求助0 9取其中數字任意組合4位數求所有數字組合

不算0開頭,一共4536,超字數部分列出 從0 9數字任意組成4位數有多少種排列方法 9 10 10 10 9000種 千位數是1到9種任何一個,百位數十位數個位數是0到9種任何一個 可組成的數抄字和是根據每個數字 bai在各個位上出現的期望算du得.例如,一個不是0的數出現在zhi個位上的dao次...

最大的四位數和最小的三位數的和是多少

最大的四位數為9999 最小的三位數為100 二者的和為 9999 100 10099.9999 100 10099 最大的三位數乘最小的三位數的積是多少 最大的三位數乘最小的三位數的積是 99900 最大的三位數是999 最小的三位數是100 999x100 99900 最大的三位數是999 最小...

四位數,它各位數字的和是31,這個四位數可能是多少

只有一個最大的9994 相加是31 其它幾個四位數都沒有9994大,所以求一個答案是9994 采采 這道題目有兩個關鍵,第一個他是四位數,所以第一位數不能是零。第二個有四個數字相加,所以,四個數字裡最小一個不能小於四。那麼可以有的組合是,9994,9985,9976,9886,9877。4個數字的順...