Language: C

#include <stdio.h>

struct {
  char mark;
  int num;
} typedef Card;

void bubble(int, Card *);
void select(int, Card *);
void result(int, Card *);
void judge(int, Card *);

int main(){ 
  Card C[36] ,D[36], F[36];
  int n, x, i, j;

  scanf("%d" ,&n);
  scanf(" %c%d " ,&C[0].mark ,&C[0].num);
  for(i = 1; i < n - 1; i++) scanf("%c%d " ,&C[i].mark ,&C[i].num);
  scanf("%c%d" ,&C[n - 1].mark ,&C[n - 1].num);

  for(i = 0; i < n; i++){
    for(j = i + 1; j < n; j++){
      if(C[i].num == C[j].num){
	F[i].mark = C[i].mark;
	F[i].num = C[i].num;
      }
    }
  }

  for(i = 0; i < n; i++) D[i] = C[i];

  bubble(n, C, F);
  select(n, D, F);

  return 0;
}

void bubble(int n, Card *C, Card *F){

  char y;
  int x, i, j;

 for(j = 0; j < n; j++){
    for(i = n - 1; i > 0; i--){
      if(C[i].num < C[i - 1].num){ 
	x = C[i].num;
	C[i].num = C[i - 1].num;
	C[i - 1].num = x;

	y = C[i].mark;
	C[i].mark = C[i - 1].mark;
	C[i - 1].mark = y;
      }
    }
  }
 result(n, C);
 judge(n, C, F);
}

void select(int n, Card *D, Card *F){

  char y;
  int min_d, min, x, i, j;

  for(i = 0; i < n; i++){
    min_d = D[i].num;
    min = i;
    for(j = i; j < n; j++){
      if(min_d > D[j].num){
	min_d = D[j].num;
	min = j;
      }
    }
    if(i != min){
      x = D[min].num;
      D[min].num = D[i].num;
      D[i].num = x;

      y = D[min].mark;
      D[min].mark = D[i].mark;
      D[i].mark = y;
    }
  }
  result(n, D);
  judge(n, D, F);
}

void result(int n, Card *C){

  int i;

  for(i = 0; i < n - 1; i++) printf("%c%d " ,C[i].mark ,C[i].num);
  printf("%c%d\n" ,C[n - 1].mark ,C[n - 1].num);
  printf("Stable\n");
  printf("Not stable\n");

}

void judge(int n, Card *C, Card *F){

  Card check;
  int i, j;

  for(i = 0; i < n; i++){
    for(j = i + 1; j < n; j++){
      if(C[i].num == C[j].num){
	check[i].mark = C[i].mark;
	check[i].num = C[i].num;
      }
    }
  }

  for(i = 0; i < n; i++){
    for(j = i + 1; j < n; j++){
      if(F[i].num == check[j].num){
	if(F[i].mark == chack[j].mark) printf("Stable\n");
	else printf("Not stable\n");
      }
    }
  }
 
}

Compiler output:
main.c: In function 'main':
main.c:33:3: error: too many arguments to function 'bubble'
   33 |   bubble(n, C, F);
      |   ^~~~~~
main.c:8:6: note: declared here
    8 | void bubble(int, Card *);
      |      ^~~~~~
main.c:34:3: error: too many arguments to function 'select'
   34 |   select(n, D, F);
      |   ^~~~~~
main.c:9:6: note: declared here
    9 | void select(int, Card *);
      |      ^~~~~~
main.c: At top level:
main.c:39:6: error: conflicting types for 'bubble'; have 'void(int,  Card *, Card *)'
   39 | void bubble(int n, Card *C, Card *F){
      |      ^~~~~~
main.c:8:6: note: previous declaration of 'bubble' with type 'void(int,  Card *)'
    8 | void bubble(int, Card *);
      |      ^~~~~~
main.c: In function 'bubble':
main.c:58:2: error: too many arguments to function 'judge'
   58 |  judge(n, C, F);
      |  ^~~~~
main.c:11:6: note: declared here
   11 | void judge(int, Card *);
      |      ^~~~~
main.c: At top level:
main.c:61:6: error: conflicting types for 'select'; have 'void(int,  Card *, Card *)'
   61 | void select(int n, Card *D, Card *F){
      |      ^~~~~~
main.c:9:6: note: previous declaration of 'select' with type 'void(int,  Card *)'
    9 | void select(int, Card *);
      |      ^~~~~~
main.c: In function 'select':
main.c:86:3: error: too many arguments to function 'judge'
   86 |   judge(n, D, F);
      |   ^~~~~
main.c:11:6: note: declared here
   11 | void judge(int, Card *);
      |      ^~~~~
main.c: At top level:
main.c:100:6: error: conflicting types for 'judge'; have 'void(int,  Card *, Card *)'
  100 | void judge(int n, Card *C, Card *F){
      |      ^~~~~
main.c:11:6: note: previous declaration of 'judge' with type 'void(int,  Card *)'
   11 | void judge(int, Card *);
      |      ^~~~~
main.c: In function 'judge':
main.c:108:14: error: subscripted value is neither array nor pointer nor vector
  108 |         check[i].mark = C[i].mark;
      |              ^
main.c:109:14: error: subscripted value is neither array nor pointer nor vector
  109 |         check[i].num = C[i].num;
      |              ^
main.c:116:27: error: subscripted value is neither array nor pointer nor vector
  116 |       if(F[i].num == check[j].num){
      |                           ^
main.c:117:25: error: 'chack' undeclared (first use in this function); did you mean 'check'?
  117 |         if(F[i].mark == chack[j].mark) printf("Stable\n");
      |                         ^~~~~
      |                         check
main.c:117:25: note: each undeclared identifier is reported only once for each function it appears in