PROGRAM ASSIG3
IMPLICIT NONE
CHARACTER(75) :: MyString
CHARACTER(2) :: String2
INTEGER :: CountMain
CHARACTER :: Flag
DO
PRINT *, "Enter a CHARACTER String (MyString) of length less &
&than or equal to 75."
READ *, MyString
PRINT *, "Enter a CHARACTER string of length 2 (String2) to count how &
&many times it shows up in the string stored in MyString."
READ *, String2
CountMain=StringSearch(MyString, String2)
PRINT *, '"', String2, '"', " shows up ", CountMain, " times."
PRINT *, 'Continue? If not, press "n" or "N"; else press any other key.'
READ *, Flag
IF ((Flag=="n") .OR. (Flag=="N")) EXIT
END DO
CONTAINS
FUNCTION StringSearch(St, St2)
INTEGER :: StringSearch, i
CHARACTER(75), INTENT(IN) :: St
CHARACTER(2), INTENT(IN) :: St2
CHARACTER(2) :: Strng
StringSearch=0
DO i=1, 74
Strng=St(I: I+1)
IF (Strng==St2) THEN
StringSearch=StringSearch+1
END IF
END DO
END FUNCTION StringSearch
END PROGRAM ASSIG3