Language: C

void spin(char move,dice *a,dice *b,dice *c,dice *d)
{
  dice temp;

  temp = *a; //??±?????????
  if(move == 'R'){ //???????????????????????????????¨??????????
    *a = *b;    *b = *d;    *d = *c;    *c = temp;    
  }
  else if(move == 'L'){  //??????????????????????????????????¨??????????
    *a = *c;    *c = *d;    *d = *b;    *b = temp;
  }
}

int main(void)
{
  int i,j,k;
  int da[6],dda[6];

  for(i=0; i<6; i++){
    scanf("%d",&da[i]);
  }
  for(i=0; i<6; i++){
    scanf("%d",&dda[i]);
  }
  
  dice one[6] = {
    {da[0]}, {da[1]}, {da[2]}, {da[3]}, {da[4]}, {da[5]},
  };
  dice two[6] = {
    {dda[0]}, {dda[1]}, {dda[2]}, {dda[3]}, {dda[4]}, {dda[5]},
  };

  for(i=0; i<=4; i++){
    //printf("i = %d ",i);
    roll('S',&two[0],&two[1],&two[2],&two[3],&two[4],&two[5]);
    for(j=0; j<=4; j++){
      // printf("j = %d\n",j);
      spin('L',&two[1],&two[2],&two[3],&two[4]);
      for(k=0; k<=5; k++){
	//	printf("k = %d\n",k);
	if(one[k].data != two[k].data){
	  break;
	}
	else if((one[k].data == two[k].data) && (k==5)){
	  puts("Yes");
	  return(0);
	}
      }
    }
  }
  puts("No");

  return(0);
}

Compiler output:
main.c:1:21: error: unknown type name 'dice'
    1 | void spin(char move,dice *a,dice *b,dice *c,dice *d)
      |                     ^~~~
main.c:1:29: error: unknown type name 'dice'
    1 | void spin(char move,dice *a,dice *b,dice *c,dice *d)
      |                             ^~~~
main.c:1:37: error: unknown type name 'dice'
    1 | void spin(char move,dice *a,dice *b,dice *c,dice *d)
      |                                     ^~~~
main.c:1:45: error: unknown type name 'dice'
    1 | void spin(char move,dice *a,dice *b,dice *c,dice *d)
      |                                             ^~~~
main.c: In function 'main':
main.c:20:5: error: implicit declaration of function 'scanf' [-Wimplicit-function-declaration]
   20 |     scanf("%d",&da[i]);
      |     ^~~~~
main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'scanf'
  +++ |+#include <stdio.h>
    1 | void spin(char move,dice *a,dice *b,dice *c,dice *d)
main.c:20:5: warning: incompatible implicit declaration of built-in function 'scanf' [-Wbuiltin-declaration-mismatch]
   20 |     scanf("%d",&da[i]);
      |     ^~~~~
main.c:20:5: note: include '<stdio.h>' or provide a declaration of 'scanf'
main.c:23:5: warning: incompatible implicit declaration of built-in function 'scanf' [-Wbuiltin-declaration-mismatch]
   23 |     scanf("%d",&dda[i]);
      |     ^~~~~
main.c:23:5: note: include '<stdio.h>' or provide a declaration of 'scanf'
main.c:26:3: error: unknown type name 'dice'
   26 |   dice one[6] = {
      |   ^~~~
main.c:27:5: warning: braces around scalar initializer
   27 |     {da[0]}, {da[1]}, {da[2]}, {da[3]}, {da[4]}, {da[5]},
      |     ^
main.c:27:5: note: (near initialization for 'one[0]')
main.c:27:5: warning: braces around scalar initializer
main.c:27:5: note: (near initialization for 'one[1]')
main.c:27:5: warning: braces around scalar initializer
main.c:27:5: note: (near initialization for 'one[2]')
main.c:27:5: warning: braces around scalar initializer
main.c:27:5: note: (near initialization for 'one[3]')
main.c:27:5: warning: braces around scalar initializer
main.c:27:5: note: (near initialization for 'one[4]')
main.c:27:5: warning: braces around scalar initializer
main.c:27:5: note: (near initialization for 'one[5]')
main.c:29:3: error: unknown type name 'dice'
   29 |   dice two[6] = {
      |   ^~~~
main.c:30:5: warning: braces around scalar initializer
   30 |     {dda[0]}, {dda[1]}, {dda[2]}, {dda[3]}, {dda[4]}, {dda[5]},
      |     ^
main.c:30:5: note: (near initialization for 'two[0]')
main.c:30:5: warning: braces around scalar initializer
main.c:30:5: note: (near initialization for 'two[1]')
main.c:30:5: warning: braces around scalar initializer
main.c:30:5: note: (near initialization for 'two[2]')
main.c:30:5: warning: braces around scalar initializer
main.c:30:5: note: (near initialization for 'two[3]')
main.c:30:5: warning: braces around scalar initializer
main.c:30:5: note: (near initialization for 'two[4]')
main.c:30:5: warning: braces around scalar initializer
main.c:30:5: note: (near initialization for 'two[5]')
main.c:35:5: error: implicit declaration of function 'roll' [-Wimplicit-function-declaration]
   35 |     roll('S',&two[0],&two[1],&two[2],&two[3],&two[4],&two[5]);
      |     ^~~~
main.c:38:7: error: implicit declaration of function 'spin' [-Wimplicit-function-declaration]
   38 |       spin('L',&two[1],&two[2],&two[3],&two[4]);
      |       ^~~~
main.c:41:18: error: request for member 'data' in something not a structure or union
   41 |         if(one[k].data != two[k].data){
      |                  ^
main.c:41:33: error: request for member 'data' in something not a structure or union
   41 |         if(one[k].data != two[k].data){
      |                                 ^
main.c:44:24: error: request for member 'data' in something not a structure or union
   44 |         else if((one[k].data == two[k].data) && (k==5)){
      |                        ^
main.c:44:39: error: request for member 'data' in something not a structure or union
   44 |         else if((one[k].data == two[k].data) && (k==5)){
      |                                       ^
main.c:45:11: error: implicit declaration of function 'puts' [-Wimplicit-function-declaration]
   45 |           puts("Yes");
      |           ^~~~
main.c:45:11: note: include '<stdio.h>' or provide a declaration of 'puts'