こんなんどうですか。

#include <stdio.h>
#include <memory.h>

int determinant(int a[3][3]);

int main(void) {
int a[3][3],b[3][3],detA;// a:元行列 b:余因子行列 detA:行列Aの行列式
int c[3][3],i,m,k;// temp
double r[3][3];// 結果

a[0][0] = 1;
a[0][1] = 1;
a[0][2] = 1;
a[1][0] = 1;
a[1][1] = 2;
a[1][2] = 3;
a[2][0] = 2;
a[2][1] = 4;
a[2][2] = 5;

// 行列式を表示するモナー
detA = determinant(a);
printf("detA = %d\n",detA);

// 余因子行列を表示するモナー
for(i=0;i<=2;i++) {
for(m=0;m<=2;m++) {
memcpy(c,a,sizeof(a));
for(k=0;k<=2;k++) {
if(k==i) { c[k][m]=1; }else{ c[k][m]=0; }
}
//r[i][m] = determinant(c) / detA;
b[i][m] = determinant(c);
printf("b[%d][%d] = %d\n",i,m,b[i][m]);
}
}

// 逆行列を表示するモナー
for(i=0;i<=2;i++) {
for(m=0;m<=2;m++) {
r[i][m] = b[m][i] / detA;
printf("r[%d][%d] = %f\n",i,m,r[i][m]);
}
}

return 0;
}

// 行列式を求める関数モナー
int determinant(int a[3][3]) {
return a[0][0]*a[1][1]*a[2][2]+a[0][1]*a[1][2]*a[2][0]+a[0][2]*a[1][0]*a[2][1]
-a[0][2]*a[1][1]*a[2][0]-a[0][1]*a[1][0]*a[2][2]-a[0][0]*a[2][1]*a[1][2];
}