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 每一行後換行 執...