CMPUT 325 Special 5

        int s = 0;
    while (1) {
        switch(s) {
        case 0:   // looking for p
            switch(getchar()) {
                  case 'p':  s=1; break;
                  case EOF: exit(NO); break;
                  default: break;
                } break;
        case 1:   // found p and 0 or more digits
            switch(getchar()) {
              case '0': case '1': ... case '9': break;
              case '.':  s=2; break;
              case 'p': s=1; break;
              case EOF: exit(NO); break;
              default: s=0; break;
           } break;
    Similalry s=2,3,4.. look for gif and if found exit(YES)

         NEXT