Ajuda com Linguagem C

Quando terminei o programa vi que nao era para ser feito com Numeros e sim com Palavras ou Strings, alguem me ajuda no que devo mudar? Pois perdi semanas com isso e agora estou sem um norte, sou novo na faculdade de ADS e nao sei muito sobre programação.

#include
#include
struct exercicio{
int vetor[5];
int a;
};

//Letra B (Insercao)
int x[5];
//==========================================================================
void inser(int e, int x[], int tam)
{
printf("\n");
printf("\nInsercao de um numero em um vetor–>\n");
e=rand()%100;

   for(int i=0;i<tam;i++){
	 x[i]=i;
	 x[i]= rand()%100;
	  if(x[i]==e)
   {
   	printf("Numero ja existe no conjunto!\n");
   }
	  }
   
   for(int i=0;i<tam;i++){
   
   printf("\nInsercao: %d",x[i]);
   }
   printf("\nInsercao: %d",e);

}
//==========================================================================
//Letra C (Listagem)
void mostra_inser(int x[], int tam)
{
printf("\n");
printf("\nVetor digitado separado:\n");
for(int i=i;i<tam;i++){
printf("{%d},",x[i]);
}
}

//==========================================================================
int main()

{
//Letra A
exercicio a1;

printf("Posicao dos Elementos-->\n");
  for(int i=0;i<5;i++){
    a1.vetor[i]= rand()%100;
     printf("\nPosicao %d: %d",i,a1.vetor[i]);

}

//==========================================================================
int x[5],e;
inser(e,x,5);
mostra_inser(x,5);

//==========================================================================
//Letra D (Uniao)
int a[2];
int b[2];
int c[4];

printf("\n");
printf("\nUniao de Dois Vetores preenchidos–>\n");
for(int i=0;i<2;i++){
a[i]=rand()%100;
printf("\nConjunto A: %d “,a[i]);
}
for(int i=0;i<2;i++){
b[i]=rand()%100;
printf(”\nConjunto B: %d “,b[i]);
}
for(int i=0;i<2;i++){
c[i]=a[i];
}
for(int i=2;i<4;i++){
c[i]=b[i-2];
}
printf(”\n");
for(int i=0;i<4;i++){
printf("\nUniao: %d ",c[i]);
}
//==========================================================================
//Letra E (Interseccao)

printf("\n");
printf("\nInterseccao dos Vetores–>\n");
for(int i=0;i<2;i++){
for(int j=0;j<2;j++){
for(int k=0;k<4;k++){
if(a[i] == b[j]){
printf("\n%d", c[k]);
}
}
}
}
//==========================================================================
//Letra F (Diferenca)
printf("\n");
printf("\nDiferenca dos Vetores–>\n");
for(int i=0;i<2 ;i++){
a[i]!=b[i];
}
for(int n=0;n<2;n++){
c[n]=a[n];
printf("\n%d", c[n]);
}
for(int n=0;n<2;n++){
c[n]=b[n];
printf("\n%d", c[n]);
}

//==========================================================================

Começa por aqui, né? Ao invés de um vetor de int, você precisa de um vetor de char ou char *

Mas se eu mudar só os vetores de inteiros para de char daria certo? Pois tenho que entregar isso sexta feira e como disse sou novo e perdi semanas nisso.

Interpretação de texto é fundamental nessa área, cara.

Se eu coloquei começa, é por que você terá de mudar mais coisas.
A questão é: se funciona com números, mudar para char não deve ter um comportamento tão diferente. De char para char * também não é tão traumático.

Consegui resolver, perdi a tarde mas deu certo gracas a Deus, mas falta uma letra e estou em duvida de como começar ela. Voce consegue me ajudar?

g) Faça uma função para fazer o produto cartesiano de 2 conjuntos X e Y, retornado um terceiro conjunto. O produto, no caso de strings, deve concatenar os elementos.