主题:[转帖]题目
			
 wzc1996
				 [专家分:1680]  发布于 2007-07-26 19:02:00							
			输入N,M
如:
N=3
M=3
        
                  *
                 ***
                ***** 
               *     *
              ***   *** 
             ***** *****
            *    *     * 
           ***   ***   ***
          ***** ***** *****
N是总行数
M是一个小三角形的行数!
来者加分!
			最后更新于:2007-07-26 19:22:00
			
					 
		
			
回复列表 (共2个回复)
		
								
				沙发
				
					
Matodied [专家分:7560]  发布于 2007-07-26 21:58:00				
				CLS
INPUT n, m
s = n * 2 - 1
FOR i = 1 TO n * m
    PRINT TAB((1 + n * m) - i);
    k = i MOD n: IF k = 0 THEN k = n
    FOR j = 1 TO k * 2 - 1: PRINT "*"; : NEXT j
    q = i \ n: IF q = i / n THEN q = q - 1
    FOR t = 1 TO q
        FOR j = 1 TO s + 1 - (k * 2 - 1): PRINT " "; : NEXT j
        FOR j = 1 TO k * 2 - 1: PRINT "*"; : NEXT j
    NEXT t
NEXT i
END
加分!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
							 
						
				板凳
				
					
Matodied [专家分:7560]  发布于 2007-07-26 22:04:00				
				其实这题看起来很难其实很简单,只要控制好每行的空格数和“*”的个数就可以了。
这题还可以用LOCATE语句做,就是在(n*m)*((m*2-1)*n+(n-1))的纸上画图,只要判断这个位置是“*”还是“ ”就可以了。
我也有一道字符打印的题,请楼主回答。
双向蛇形矩阵(n*n的):
比如n=5:
1  4  1  2  1
4  2  3  2  1
1  3  3  2  3
2  2  2  4  1
1  1  3  1  5
							 
									
			
我来回复