Estoy haciendo un programa que resuelva ecuaciones por eliminacion gaussina pero hay dos errores que no me dejan compilar y no logro arreglarlos. Estos son: 
declaración static de ‘muestra’ después de una declaración que no es static
declaración static de ‘proceso’ después de una declaración que no es static
AQUI EL CODIGO
#include <stdio.h>
#include <math.h>
int main()
{
void muestra(int Dim, float Sist[][102]);
int A[3][3] = {{1,-2,3}, {4,5,0},{-7,8,9}}; 
int B[3] = {0,-1,2};
int Dim=3;
void proceso(int Dim, float Sist[][102]);
Printf("\n");
printf("\n\t\t\t        ***     G A U S S    ***    ");
printf("\n\n ||RESUELVE MATRICES POR EL METODO DE GAUSS||");
int main(void)
{
    int C,Dimension;
    float Sistema[101][102];
    printf("\n\n\nLa Matriz ingresada es: \n\n");
    muestra(Dimension,Sistema);
    proceso(Dimension,Sistema);
    printf("\n\n\nRespuesta(s):\n");
    for(C=1;C<=Dimension;C++) printf("\n X%d=%f\n",C,Sistema[C][Dimension+1]);   
    scanf("");
    return(0);
}
void muestra(int Dim, float Sist[][102])
{