我想使用cobol在屏幕中间打印“ *”的三角形?我该怎么做?

时间:2018-09-21 05:37:10

标签: cobol

 IDENTIFICATION DIVISION.
        PROGRAM-ID. 11.
        WORKING-STORAGE SECTION.
        01 NUM1 PIC X(010) VALUE "*".
        01 NUM2 PIC S9(001) VALUE +2 COMP.
        PROCEDURE DIVISION.
        PERFORM TRI 6 TIMES
        STOP RUN.
       TRI.
        DISPLAY NUM1
        ADD +2 TO NUM2
        MOVE "*" TO NUM1(NUM2:6).

1 个答案:

答案 0 :(得分:5)

下面给出了

在屏幕中间打印星号三角形的COBOL代码。

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.

DATA DIVISION. 
WORKING-STORAGE SECTION.
01 WS-OUT PIC X(80) VALUE SPACES.
01 WS-N PIC 9(2) VALUE 0. 
01 WS-CENTER PIC 9(2) VALUE 40. 

PROCEDURE DIVISION.

PERFORM VARYING WS-N FROM 1 BY 2 UNTIL WS-N > 20
MOVE ALL '*' TO WS-OUT(WS-CENTER:WS-N)
COMPUTE WS-CENTER = WS-CENTER - 1
DISPLAY WS-OUT
END-PERFORM. 

STOP RUN.

输出:

                               *                                        
                              ***                                       
                             *****                                      
                            *******                                     
                           *********                                    
                          ***********                                   
                         *************                                  
                        ***************                                 
                       *****************                                
                      *******************                               

运行here

感谢里克·史密斯的建议。