Language: C

int find(char str[]){
  long long key, i, h;
  key = getKey(str);
  for ( i = 0;; i++){
    h = (h1(key)+i*h2(key))%M;
    if( strcmp(H[h],str) == 0 ) return 1;
    else if ( strlen(H[h]) == 0 ) return 0;
  }
  return 0;
}

int insert(char str[]){
  long long key, i, h;
  key = getKey(str);
  for ( i = 0; ; i++ ){
    h = (h1(key)+i*h2(key))%M;
    if( strcmp(H[h],str) == 0 ) return 1;
    else if ( strlen(H[h]) == 0 ){
      strcpy(H[h], str);
      return 0;
    }
  }
  return 0;
}

main(){
  int i, n, h;
  char str[L], com[9];
  for ( i = 0; i < M; i++ ) H[i][0] = '\0';
  scanf("%d", &n);
  for ( i = 0; i < n; i++ ){
    scanf("%s %s", com, str);

    if ( com[0] == 'i' ){
      if (insert(str)){

      }
    } else {
      if (find(str) ){
        printf("yes\n");
      } else {
        printf("no\n");
      }
    }
  }
  return 0;
}

Compiler output:
main.c: In function 'find':
main.c:3:9: error: implicit declaration of function 'getKey' [-Wimplicit-function-declaration]
    3 |   key = getKey(str);
      |         ^~~~~~
main.c:5:10: error: implicit declaration of function 'h1' [-Wimplicit-function-declaration]
    5 |     h = (h1(key)+i*h2(key))%M;
      |          ^~
main.c:5:20: error: implicit declaration of function 'h2' [-Wimplicit-function-declaration]
    5 |     h = (h1(key)+i*h2(key))%M;
      |                    ^~
main.c:5:29: error: 'M' undeclared (first use in this function)
    5 |     h = (h1(key)+i*h2(key))%M;
      |                             ^
main.c:5:29: note: each undeclared identifier is reported only once for each function it appears in
main.c:6:9: error: implicit declaration of function 'strcmp' [-Wimplicit-function-declaration]
    6 |     if( strcmp(H[h],str) == 0 ) return 1;
      |         ^~~~~~
main.c:1:1: note: include '<string.h>' or provide a declaration of 'strcmp'
  +++ |+#include <string.h>
    1 | int find(char str[]){
main.c:6:16: error: 'H' undeclared (first use in this function)
    6 |     if( strcmp(H[h],str) == 0 ) return 1;
      |                ^
main.c:7:15: error: implicit declaration of function 'strlen' [-Wimplicit-function-declaration]
    7 |     else if ( strlen(H[h]) == 0 ) return 0;
      |               ^~~~~~
main.c:7:15: note: include '<string.h>' or provide a declaration of 'strlen'
main.c:7:15: warning: incompatible implicit declaration of built-in function 'strlen' [-Wbuiltin-declaration-mismatch]
main.c:7:15: note: include '<string.h>' or provide a declaration of 'strlen'
main.c: In function 'insert':
main.c:16:29: error: 'M' undeclared (first use in this function)
   16 |     h = (h1(key)+i*h2(key))%M;
      |                             ^
main.c:17:16: error: 'H' undeclared (first use in this function)
   17 |     if( strcmp(H[h],str) == 0 ) return 1;
      |                ^
main.c:18:15: warning: incompatible implicit declaration of built-in function 'strlen' [-Wbuiltin-declaration-mismatch]
   18 |     else if ( strlen(H[h]) == 0 ){
      |               ^~~~~~
main.c:18:15: note: include '<string.h>' or provide a declaration of 'strlen'
main.c:19:7: error: implicit declaration of function 'strcpy' [-Wimplicit-function-declaration]
   19 |       strcpy(H[h], str);
      |       ^~~~~~
main.c:19:7: note: include '<string.h>' or provide a declaration of 'strcpy'
main.c:19:7: warning: incompatible implicit declaration of built-in function 'strcpy' [-Wbuiltin-declaration-mismatch]
main.c:19:7: note: include '<string.h>' or provide a declaration of 'strcpy'
main.c: At top level:
main.c:26:1: error: return type defaults to 'int' [-Wimplicit-int]
   26 | main(){
      | ^~~~
main.c: In function 'main':
main.c:28:12: error: 'L' undeclared (first use in this function)
   28 |   char str[L], com[9];
      |            ^
main.c:29:20: error: 'M' undeclared (first use in this function)
   29 |   for ( i = 0; i < M; i++ ) H[i][0] = '\0';
      |                    ^
main.c:29:29: error: 'H' undeclared (first use in this function)
   29 |   for ( i = 0; i < M; i++ ) H[i][0] = '\0';
      |                             ^
main.c:30:3: error: implicit declaration of function 'scanf' [-Wimplicit-function-declaration]
   30 |   scanf("%d", &n);
      |   ^~~~~
main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'scanf'
  +++ |+#include <stdio.h>
    1 | int find(char str[]){
main.c:30:3: warning: incompatible implicit declaration of built-in function 'scanf' [-Wbuiltin-declaration-mismatch]
   30 |   scanf("%d", &n);
      |   ^~~~~
main.c:30:3: note: include '<stdio.h>' or provide a declaration of 'scanf'
main.c:40:9: error: implicit declaration of function 'printf' [-Wimplicit-function-declaration]
   40 |         printf("yes\n");
      |         ^~~~~~
main.c:40:9: note: include '<stdio.h>' or provide a declaration of 'printf'
main.c:40:9: warning: incompatible implicit declaration of built-in function 'printf' [-Wbuiltin-declaration-mismatch]
main.c:40:9: note: include '<stdio.h>' or provide a declaration of 'printf'
main.c:42:9: warning: incompatible implicit declaration of built-in function 'printf' [-Wbuiltin-declaration-mismatch]
   42 |         printf("no\n");
      |         ^~~~~~
main.c:42:9: note: include '<stdio.h>' or provide a declaration of 'printf'