Master Mainframe Technologies - COBOL, JCL, DB2, VSAM, CICS & More
ABEND Codes SQLCODEs File Status Interview Prep Contact
← Back to String Handling
String Handling | Intermediate | COBOL

Word Count

Problem Description

Count the number of words in a sentence. Input: "HELLO WORLD COBOL" -> 3 words

Expected Output

Number of words in input

Hints

Count transitions from space to non-space.

Solution

IDENTIFICATION DIVISION. PROGRAM-ID. WORDCNT. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-TEXT PIC X(200). 01 WS-LENGTH PIC 999. 01 WS-I PIC 999. 01 WS-WORD-COUNT PIC 999 VALUE 0. 01 WS-IN-WORD PIC 9 VALUE 0. 01 WS-CHAR PIC X. PROCEDURE DIVISION. DISPLAY "ENTER TEXT: ". ACCEPT WS-TEXT. MOVE FUNCTION LENGTH(FUNCTION TRIM(WS-TEXT)) TO WS-LENGTH. MOVE 0 TO WS-IN-WORD. PERFORM VARYING WS-I FROM 1 BY 1 UNTIL WS-I > WS-LENGTH MOVE WS-TEXT(WS-I:1) TO WS-CHAR IF WS-CHAR = SPACE MOVE 0 TO WS-IN-WORD ELSE IF WS-IN-WORD = 0 ADD 1 TO WS-WORD-COUNT MOVE 1 TO WS-IN-WORD END-IF END-IF END-PERFORM. DISPLAY "WORD COUNT: " WS-WORD-COUNT. STOP RUN.

Explanation:

Track state (in word or not) while scanning. Count word starts.