急!!!九九乘法表VB一重迴圈,不用指標

時間 2025-01-28 13:45:08

1樓:網友

一層迴圈是從11-99迴圈輸出**。abcayad 的那個還是有兩層迴圈,只不過把其中乙個迴圈改成條件判斷後goto了,實質上還是迴圈。

隨便寫寫,如果要輸出比較好看自己調整:

dim i as integer, a as integer, b as integer

for i = 11 to 99

a = i \ 10: b = i mod 10

if b <>0 and b >

next注:以上**省略了重複的乘法,比如1*2和2*1為重複的。如果不想省略重複乘法,請把"and b >=a"刪除。

補充:★★你的要求還真高。

以上面的**為基礎,列印成三角的**:

dim i as integer, a as integer, b as integer

for i = 11 to 99

a = i \ 10: b = i mod 10

if b <>0 and b >;vbtab;

if b = 9 then print

next在原來的基礎上加"; vbtab;"保證列印時不換行,當第二個乘數b=9時換行。很多東西自己動腦筋修改修改更有意思。

以下**排列的三角可能更符合你的要求。

dim i as integer, a as integer, b as integer

for i = 11 to 99

a = i \ 10: b = i mod 10

if b <>0 and b >;vbtab; else if b <>0 then print spc(8); vbtab;

if b = 9 then print

next

2樓:網友

private sub form_click()dim a, b, c

b = 0c = 1

for a = 1 to 9

a:print a; "c; "a * c,if c = a then c = 1: print: goto b

if c < a then c = c + 1: goto ab:next

end sub

vb沒有指標的 硬要用一重迴圈也可以 就是麻煩。

上面的演算法是硬使用一重迴圈其實用二重迴圈更明白:

option explicit

private sub form_click()dim a, b

for a = 1 to 9

for b = 1 to a

print a; "b; "a * b,nextprintnext

end sub

3樓:匿名使用者

1樓的是一層迴圈麼?vb果然演算法不一樣。

vb迴圈結構 列印九九乘法表···

4樓:網友

直接畫個x不就好了!

vb九九乘法表

5樓:板渡

(1)print"*"

意思是列印乙個字元"*"。

2)print:print

vb中,一行一句命令,如果你想多句命令一行,可用冒號隔開。

print省略引數就表示輸出乙個空行。

簡單說,"print:print"就等於:

printprint

列印兩行空行。

3)tab(n)函式。

用來將游標移到引數n指定的位置開始輸出資訊。tab(i*6),(i=1,2,3...也就是在第..

格才輸出表示式,這樣看起來就像乙個列表一樣。如果你需要更要寬鬆一點,你寫成tab(i*7)也是可以的:)

樓主提供的程式**,語句有點混亂,執行也不正確。

private sub form_click()print tab(35); "乘法表"

dim se as string

for i = 1 to 9

for j = 1 to i

se = i & "x" & j & "=" & i * jprint tab((j - 1) *9); se;

next j

printnext i

end sub

6樓:線索記憶

04九九乘法表的記憶方法。

7樓:網友

兩個print是輸出兩個空行,「print "*"」是輸出乘號,tab那個是插入換行符,就是相當於幾個空格,就是這樣。

8樓:練雅韶香蝶

private

subform_click()

dimiasinteger,jas

integer

fori=1

to9forj=i

to9print

i;"*";

j;"=";i*

j;"";next

jprint

nextiend

subfor巢狀迴圈,如有問題,請追問。

vb 九九乘法表 迴圈輸出控制問題,請大師詳最細指點

9樓:網友

2,那個意思是讓其對齊,如果乘積為1為數則加上乙個空格;2位則不用空格;

3, i * j & " " 輸出是i乘以j然後加上乙個空格。i*j 則是乙個數值;

4,輸出乙個空格;

10樓:網友

1.&表示字串連線。

j) <2 如果乘積為1為數則加上乙個空格;2位則不用空格3.也是多加乙個空格,以便輸出時對齊。

4.仍然是加空格,讓兩個運算表示式之間留出空白。

11樓:赤血碧琳

從最開始分析**,定義整型的ij和字串的k。

迴圈開始,這是兩個巢狀迴圈(i和j),當i取1的時候,進入j迴圈(個人覺得應該是for j = i to 9 j取1到9) 這樣j完了,再進行i=2,此時再進入j迴圈,此處j取2 到9,依次類推再進行i=3,4,5,,,9這樣迴圈就算是完了。

中間語句 k = k & j & "×" & i & "=" & iif(len(i * j) <2, i * j & " ", i * j) &" "

等號兩邊的k=表示對k進行不斷的累計更新,也就是說最開始k是空的,j 表示並上1(此時j=1),"x"表示並上x,i表示並上1(此時i=1),"="表示並上=, iif(len(i * j) <2, i * j & " ", i * j)表示並上1x1的結果 1,這裡有乙個iif判斷語句 len是乙個函式用來取()裡面的字元的長度。也就是說 len(i * j) <2 的作用是判斷i * j的長度是否小於2 (此處,由小學知識可得 九九乘法表的=右邊有兩種情況,一種是一位數,另一種是兩位數)。這裡必然要解決你的{疑問 3、iif 函式中的 i * j & " " 與 i * j ,二者的具體含義是什麼?

這個就要你看看iif語句的表示式了iif(a,b,c)a表示判斷,判斷滿足了執行b,否則執行c。就是其中選乙個來執行。可以理解了 ,當結果是一位數的時候執行i * j & " " ,一位數加上乙個空字元也就是兩位了;當結果是兩位數,也就是 i * j 。

不管結果是怎麼樣的都已經是一樣的長度了。最後的& " " 當然也就是增加乙個空字元了啦,你看這個你就明白了為什麼要加他了。

1x1= 11x2= 21x3= 3 和 1x1= 1 1x2= 2 1x3= 3

疑問1裡面 =兩邊的k 第一次k 是1x1= 1 第二次k就是1x1= 1 1x2= 2 (累計或者說是累加)

前面的k是新的,=後面的k是上一次的k.

最後,有的時候 你可以把**刪掉在執行 就可以看出來為什麼要這個,不要這個有什麼結果了。

12樓:網友

你的問題很多,但實際上都是最基礎的東西,你可以稍微打下基礎再看**。

13樓:網友

答1、這是一種向字串k賦值的形式 ,這裡是向字串k加入新的內容答2、len(i * j) <2 是在計算i*j所得結果作為字串的長度,為了給輸出做出format

答3、iif(len(i * j) <2, i * j & " ", i * j)中表示的意思為當i*j的結果小於2位數時輸出i * j & " "把結果 增加個空格為了使輸出時每段的結果都能保持相同的長度,當i*j的結果小於2位數時輸出i * j 。。

答4、沒有具體執行過你的程式,你可以去掉試試。

vb 九九乘法表

14樓:茂煙

for i = 1 to 9

for k=0 to 9-j

先輸出一系列空格字元。

space(9)

next k

for j = i to 1 step -1'逆序輸出m=a*b 的形式。

用format函式定寬輸出。

format(i * j,"##")+ "=" & format(i,"##") +"*" + format(j,"##

next j

for j = 1 to i

順序輸出a*b=m形式。

同樣用format固定數字寬度。

format(i,"##") &"*" & format(j,"##") &"=" & format(i * j,"##

next j

next i

15樓:網友

**給你,其它背景字型什麼的都是小問題。

private sub command1_click()dim i as integer,j as integer

for i = 1 to 9for j = 1 to iprint j & "x " & i & "= " & i * j & vbtab;

nextprint

nextend sub

16樓:i多多問題多多

乙個最簡單的99乘法表**:

private sub form_activate()i = 1

j = 1for i = 1 to 9

for j = 1 to i

print i & "x" & j & "=" & i * j; tab(j * 10);

nextprint

nextend sub

vb九九乘法表問題

17樓:網友

private sub command1_click()

showdim a, b as integer

dim jg as string

for a = 1 to 9

jg = "" '每一行jg變數清零,否則a=2時,把第一行的也加進去了。

for b = 1 to 9

a=2,b=3 jg應該="2*1=6 2*2=4 2*3=6"的字串。

當a=2,b=4時jg="2*1=6 2*2=4 2*3=6"& a & "*" & b & "=" & a * b & vbtab

jg = jg & a & "*" & b & "=" & a * b & vbtab

next b

print jg

next a

end sub

18樓:網友

這個**是先產生乘法表每一行到jg這個變數中再列印出來,當打到下一行時,必須把上一行的清除掉,所以用jg="",否則列印第n行時會把前面n-1行的乘法也打進去。

jg = jg & a & "*" & b & "=" & a * b & vbtab

原因同上,是先產生沒一行的乘法。

vb九九乘法表

private sub command1 click dim i as integer dim j as integer for i 1 to 9 step 1 1 print for j i to 9 這裡修改了一下print i j i j 2 print vbtab next j print ...

php九九乘法表

小平娛樂 九九乘法口訣表是很多php面試考試的程式題,考察php面試者的邏輯思維能力,主要就是對演算法的理解和運用,利用php實現99乘法表的 如下 for i 1 i 9 i for j 1 j i j echo j.x i.j i.echo 執行結果如下 小貼士 其實就是兩個迴圈,外層控制迴圈行...

C 輸出九九乘法表

c 輸出九九乘法表的源 如下 include int main int i,j,result printf n for i 1 i 10 i for j 1 j i j result i j printf d d 3d i,j,result 3d表示左對齊,佔3位 printf n 每一行後換行 執...