十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
我理解你想要的结果应该是
创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站制作、做网站、外贸营销网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的肇庆网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
如果猜测属实,那么,按照你的思路,代码应该改写为(关于j的循环没有必要从大到小,可以从小到大,这是一般的做法)
实际上这个代码中,关于j的循环,完全可以去掉,代码简化为:
结果都是一样的。
这里里面你注意一个函数就是cstr,他就是将一个数字转化为一个字符串,而且没有了前后的空格。
新建工程,添加command1控件,复制我的代码.vb6.0+xp调试通过.
代码如下
Private Sub Command1_Click()
Dim i As Integer
Print Space(10) "*"
For i = 1 To 9
Print Space(10 - i) "*" Space(i * 2) "*"
Next i
For i = 0 To 21
Print "*";
Next i
End Sub
如果是在特定picture,神马自己的jpg,bmp上作图,那就不要看下去了。
假如思路要这样的话:49/2 取整加1(也可以直接数出来25个数字);一般的,我们把三角形正放,可知有以下几点常识:
1,最上一个角必然是一个数字;
2,每行数字逐渐增多,最后一行刚好分配完;
3,打印的每一行平行,成三角的话(只有两行不在此列)每行上的数字个数为等差数列,设方差为a,则每行数字的个数如下:
1
1 + a
1 + 2a
......
1 + na
其中总数为25;公式为 n +1+ a*n*(n+1)/2 = 25。
显然如果只有一行是不能称之为三角形的n1。可得a7;即a可为1,2,3,4,5,6;逐个试之,仅a为2可得n为整数5。
结果为:
count
1 line1 1
3 5 7 line2 3
9 11 13 15 17 line3 5
19 21 23 25 27 29 31 line4 7
33 35 37 39 41 43 45 47 49 line5 9
sum 25
其中三角行可调整为等腰三角形。
代码如下:
int line = 1;
for( int i = 0; i 25; i++ )
{
fprintf( stdout, 'i*2 + 1 ' );
if( 1+2*(line-1) == (i+1)/2 )
{
fprintf(stdout, '\n');
line++;
}
}
说真的,以题目这么宽松,两行也要算的。
count
1 line1 1个数字
3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 line2 24 个数字
如果1下面必须有数字,(打印格式一般是这样的),则凑不成等腰三角形了。
代码如下:
fprintf( stdout, '1\n ' );
for( int i = 0; i 25; i++ )
{
fprintf( stdout, 'i*2 + 1 ' );
}
fprintf(stdout, '\n');
参考:
以下为十行的杨辉三角输出,根据这个自己做相应修改,都做好了,那你就是伸手党了。
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i, j As Integer
Dim n As Integer
n = 10
Dim dete(n, n) As Integer
Dim sum As Integer
For i = 0 To n
For j = 0 To i
If i = 0 Then
dete(i, j) = 1
ElseIf j = 0 Then
dete(i, j) = 1
ElseIf i = j Then
dete(i, j) = 1
Else
dete(i, j) = dete(i - 1, j - 1) + dete(i - 1, j)
End If
Next
Next
For i = 0 To n
For j = 0 To i
Debug.Write(dete(i, j) " ")
sum += dete(i, j)
Next
Debug.WriteLine(" ")
Next
End Sub
End Class
dim i as integer
dim j as integer
for i=1 to 99 '代表行数或列数
for j=1 to i
print "*";
next j
next i
1、具体实现星号三角形的代码如下:
Public Function sanjiaoxing(ByVal num As Integer) As String
Dim i, j As Integer
Dim st As String
st = ""
Dim m As Integer
If (num Mod 2 = 0) Then
sanjiaoxing = ""
End If
'输出上三角形
For i = 1 To (num + 1) \ 2
For j = 1 To (num + 1) / 2 - i
st = st " "
Next
For j = 1 To 2 * i - 1
st = st "*"
Next
st = st vbCrLf
Next
sanjiaoxing = st
End Function
Private Sub Form_Click()
Print sanjiaoxing(11)
End Sub