Utilizzare gli array, il ciclo for, i numeri random e la funzione potenza nel linguaggio C

Scrivere un programma in C che popola un array di grandezza DIM_ARRAY con un ciclo for inserendo un valore casuale tra 1 e 100.
Successivamente copiare la potenza di 2 di ogni valore dell’array A in un nuovo array B ma con ordine inverso.

#include <stdio.h>
#include <stdlib.h>
#include <time.h> //questa libreria mi serve per richiamare la funzione time(0)
#include <math.h> //pow(n,e);  n=numero e=esponente es: pow(5,2) = 25
 
#define DIM_ARRAY 10

void main() {
	int A[DIM_ARRAY];
	int B[DIM_ARRAY];
	int i;
	srand(time(0));	//inizializiamo il generatore su time(0) per avere valori sempre diversi
	printf("Inizializzo e stampo Array A\n");
	for(i=0;i<DIM_ARRAY;i++){
		A[i]=1+rand()%100; //inserisco nell'array un numero casuale tra 1 e 100
		printf("A[%d]: %d",i,A[i]);
		printf("\n");
	}
	printf("Inizializzo e stampo Array B\n");
	int j=0;
	for(i=DIM_ARRAY-1;i>=0;i--){
		B[i]=pow(A[j],2);
		j++;
		printf("B[%d]: %d",i,B[i]);
		printf("\n");
	}
}