下の二つのプログラムに関して質問させてください。
ローレル指数を出す問題なのですが身長172、体重64のとき上のプログラムでは
248870091、下では125になりました。下が正解らしいのですが、この二つで答えが異なる理由がわかりません。
その理由を教えていただきたいです。根本的なところで誤解をしているのだと思いますが・・・。
よろしくお願い致します。


#include <stdio.h>
int main(void)
{
int height, weight;
printf("身長を入力してください。> ");
scanf("%d", &height);
printf("体重を入力してください。> ");
scanf(" %d", &weight);
printf("ローレル指数 = %d\n", (double)weight / (height * height * height) * 10000000);
return 0;
}


#include <stdio.h>
int main(void)
{
int height, weight, rohrer;
printf("身長を入力してください。> ");
scanf("%d", &height);
printf("体重を入力してください。> ");
scanf(" %d", &weight);
rohrer = (double)weight / (height * height * height) * 10000000;
printf("ローレル指数 = %d\n", rohrer);
return 0;
}