Эти выражения, хотя они присваиваются двойным переменным, вычисляют целочисленные деления.
f = a / b;
g = b / a;
d = c / a;
e = c / b;
Т.е. то, что присваивается двойным значениям, является целочисленными значениями.
Ваши условия if в основном проверяют целочисленные значения и, следовательно, всегда оценивают как истинные.
Чтобы избежать целочисленного деления и получить действительные значения с плавающей запятой, присвоенные значениям типа double, вам необходимо сделать рано уверен, что компилятор интерпретирует их соответственно. Например:
f = (1.0*a) / b;
g = (1.0*b) / a;
d = (1.0*c) / a;
e = (1.0*c) / b;
И, как отмечается в комментарии, лучше всегда инициализировать все ваши переменные (даже если здесь a, b, c будет достаточно).
int a=1;
int b=1;
int c01;
double d=1.0;
double e=1.0;
double f=1.0;
double g=1.0;