一道关于算法的问题,如何输出“金字塔”?(急!!!)

zhanglei198447 2003-08-20 12:18:56
各位,题是这样的:
如何有VB。NET在窗体上输出
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
1 2 3 4 5 4 3 2 1
1 2 3 4 5 6 5 4 3 2 1
1 2 3 4 5 6 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1
Thank you!
...全文
68 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
fankun 2003-08-21
  • 打赏
  • 举报
回复
楼主应该对结构语句懂吧,我就不多费口舌了,
你用FOR--NEXT循环,进行嵌套就可以了,
dim a as integer
此处省略N字
for a=1 step 1
a=a+1

for int i=1

我没有写好哦,没有时间,你自己想想吧!

















































































iThinkPad 2003-08-21
  • 打赏
  • 举报
回复
上面的程序输出时数字中间没空格

这个是中间有空格的,完全符合楼主要求的,只是是在文本框中输出效果。

Public Sub WriteExam(ByVal intLineCnt As Integer, ByVal MyText As Windows.Forms.TextBox)
Dim intSpaceCnt As Integer
Dim intCurLine As Integer
Dim intCnt1 As Integer, intCnt2 As Integer

MyText.Text = ""
For intCnt1 = 1 To intLineCnt
intSpaceCnt = 2 * (intLineCnt - intCnt1)
MyText.Text = MyText.Text & Space(intSpaceCnt)
For intCnt2 = 1 To intCnt1
MyText.Text = MyText.Text & intCnt2 & Space(1)
Next
For intCnt2 = intCnt1 - 1 To 1 Step -1
MyText.Text = MyText.Text & intCnt2 & Space(1)
Next
MyText.Text = MyText.Text & Space(intSpaceCnt) & vbCrLf
Next
End Sub
iThinkPad 2003-08-21
  • 打赏
  • 举报
回复
Public Sub WriteExam(ByVal intLineCnt As Integer, ByVal MyText As Windows.Forms.TextBox)
Dim intSpaceCnt As Integer
Dim intCurLine As Integer
Dim intCnt1 As Integer, intCnt2 As Integer

MyText.Text = ""
For intCnt1 = 1 To intLineCnt
intSpaceCnt = intLineCnt - intCnt1
MyText.Text = MyText.Text & Space(intSpaceCnt)
For intCnt2 = 1 To intCnt1
MyText.Text = MyText.Text & intCnt2
Next
For intCnt2 = intCnt1 - 1 To 1 Step -1
MyText.Text = MyText.Text & intCnt2
Next
MyText.Text = MyText.Text & Space(intSpaceCnt) & vbCrLf
Next
End Sub
stefant2003 2003-08-21
  • 打赏
  • 举报
回复
我觉得主要部分是这样的,不只对不对,望大家指正:
Coding in C
void output(int line)
{
for(int i=1;i<=line;i++)
{
for(int j=1; j<=line-i-1;j++)
cout<<" ";
for(int j=1; j<=2*i-1;j++)
{
if(j<i) cout<<j;
else cout<<2*i-j;
}
cout<<endl;
}
}
mingyuebin 2003-08-21
  • 打赏
  • 举报
回复
textbox设为居中,多份


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TextBox1.Text = ""
Dim i, j, k As Integer
Dim a() As Integer
For i = 0 To 15
j = 2 * i + 1
ReDim a(j - 1)
For k = 0 To j - i - 1
If k = j - i - 1 Then
a(k) = k + 1
Else
a(k) = k + 1
a(j - k - 1) = k + 1
End If
Next
For k = 0 To j - 1
TextBox1.Text = TextBox1.Text & a(k)
Next
TextBox1.Text = TextBox1.Text & vbCrLf
Next
End Sub
wdwd05 2003-08-21
  • 打赏
  • 举报
回复
Private Sub Form_Load()
Dim i, j, k As Short
Show
For i = 1 To 9

Print Spc(27 - 3 * i);

For j = 1 To i
Print j;
Next

For k = i - 1 To 1 Step -1
Print k;
Next

Print

Next
End Sub

过来抢分~以后不要给那么点分,OK?
xiajianfeng 2003-08-20
  • 打赏
  • 举报
回复
我对VB.NET不熟,用C#写了个:
//@Param:line
private static void YangHui(int line)
{
ArrayList al = new ArrayList();
string strTemp1,strTemp2;
strTemp1 = "";
strTemp2 = "";
string k;
k = " ";
char c = k[0];
for(int i=1;i<=line;i++)
{
strTemp1 = "";
strTemp2 = "";
for(int j=1;j<=i;j++)
{
strTemp1 += j.ToString();
if(i!=j)
strTemp2 += (i-j).ToString();
}
al.Add(strTemp1 + strTemp2);
Console.Write(al[i-1].ToString().PadLeft(line+i-1,c) + "\n");
}
}

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧