印星星的問題

Home Home
引用 | 編輯 ccna_not
2008-06-07 23:06
樓主
推文 x0
1.
Sub Main()
Tmp = ""
For i = 1 To 10
Tmp = Tmp & String(i, "*")
Tmp = Tmp & vbCrLf
Next
MsgBox Tmp
E ..

訪客只能看到部份內容,免費 加入會員



獻花 x0
引用 | 編輯 wellson123
2008-06-08 00:58
1樓
  
1.
Sub Main()
Tmp = ""
For i = 1 To 10

  Tmp = Tmp & String( ( 10 - i ) / 2, " " ) & String( i, "*" )
  Tmp = Tmp & vbCrLf
Next
MsgBox Tmp
End Sub

2.
Sub Main()
Tmp = ""
For I = 1 To 10
  For J = 1 To I
      Tmp = Tmp & String( J, " " ) & String( J, "*" )
  Next
  Tmp = Tmp & vbCrLf
Next
MsgBox Tmp
End Sub


試試吧表情

獻花 x0
引用 | 編輯 ccna_not
2008-06-08 02:00
2樓
  
下面是引用wellson123於2008-06-08 00:58發表的 :
1.
Sub Main()
Tmp = ""
For i = 1 To 10

  Tmp = Tmp & String( ( 10 - i ) / 2, " " ) & String( i, "*" )
.......

wellson123
1.第一個會跑成


2. 第二個會跑成


雖然不一樣
但還是謝謝你
我再想想~

獻花 x0
引用 | 編輯 三仙
2008-06-08 03:13
3樓
  

圖 1.
運算結果

這是第一題的,參考看看
--------------------------------
Tmp = ""
For i = 1 To 10
Tmp = Tmp & Space(10 - i) & String(i, "*") & vbCrLf
Next
MsgBox Tmp
--------------------------------
雖然不知道為什麼要用二個 For
但第二層的語意是錯的(跟語法無關)
所以會多跑第一層的倍數
控制第二層只做一次就好了


[ 此文章被三仙在2008-06-08 05:27重新編輯 ]

補運算結果圖檔

獻花 x0
引用 | 編輯 andyz
2008-06-08 10:39
4樓
  
不會用VB
用C++寫這樣
#include<iostream>
using namespace std;
                                                   
int main()
{
     for(int i=0;i<=10;i++)
     {
           for(int k=9;k>=i;k--) cout<<" ";
           for(int j=0;j<i;j++)
           {
                 
                 cout<<"* ";
           }
           cout<<endl;
     }
     return 0;
}



獻花 x0
引用 | 編輯 wellson123
2008-06-13 00:46
5樓
  
'Option Explicit

Private Sub Form_Load()

'問題一
Tmp = ""
For i = 1 To 10
  Tmp = Tmp & String(10 - i, " ") & String(i, "*")
  Tmp = Tmp & vbCrLf
Next
MsgBox Tmp

'問題二
Tmp = ""
For i = 1 To 10
  Tmp = Tmp & String(10 - i, " ")
  For j = 1 To i
    Tmp = Tmp & "*"
  Next
  Tmp = Tmp & vbCrLf
Next
MsgBox Tmp

End Sub

ps. 我一直把一個空白佔的空間當成和一個星號一樣, 結果就錯了.

獻花 x0
引用 | 編輯 koinouta
2008-06-17 03:26
6樓
  
複製程式
#include <stdio.h>
#include <stdlib.h>

void main()
{
       int i,j,n,m;
       scanf("%d",&n);
       
       m=(((n%2)==0) ? n/2-1:n/2);
       for (i=m;i>=-m;i--)       {
              for (j=m;j>=-m;j--)       {
                     printf("%s",(abs(i)+abs(j)<=m) ? "*":" " );
              }
              printf("\n");
       }

       system("pause");
}

此為我自己寫的菱形程式(C)
VB太久沒寫...發現完全看不懂=.=
供你參考

第一個for
將i>=-m的-m修改為0即可

...若是修改第二個for則變成.........自己試吧...

另外
(abs(i)+abs(j)<=m) ? "*":" "
其中<=可以修改成>=或==或<或>...至於會產生什麼嘛~...自己去試吧~
我懶得截圖....=.=

獻花 x0
引用 | 編輯 sss40914
2008-11-04 14:13
7樓
  
'vb2005

Dim x, y As Integer
    For x = 1 To 5
        For y = 1 To x
          Label1.Text += "*"
        Next
        Label1.Text += vbNewLine
    Next
  End Sub

獻花 x0
引用 | 編輯 楓葉物語
2009-11-04 19:25
8樓
  
Label1.Text = ""
    For x = 1 To 5
        Label1.Text = Label1.Text & Space(5 - x)
        For y = 1 To x
          Label1.Text = Label1.Text & "*"
        Next y
        Label1.Text = Label1.Text & vbNewLine
    Next x
  End Sub

獻花 x0
引用 | 編輯 abbabc
2009-11-15 00:13
9樓
  
太棒了
這正好是我們學校老師出給我們的作業
本來還在想說要哪裡問人的說
想不到這裡剛好有我要的
謝謝大大分享

獻花 x0