• ベストアンサー

c言語 標準体重計算のプログラミング

標準体重計算のプログラミングを作成しています。身長(m)×身長(m)×22 での計算方法を採用していますが初心者なので全くでくません。全くなっていませんがここにのせます。 どなたか正しいプログラミングを教えてください #include <stdio.h> //標準体重の計算 int main (int argc, const char * argv[]) { int height; int weight; double x; double y; printf("あなたの標準体重を計算します\n\n"); printf("あなたの身長(cm)、体重(kg)を入力してください\n"); scanf("%d %d",&height,&weight); x=height/100; y=x*x*22; printf("これが標準体重です\n"); printf(" %y \n");

質問者が選んだベストアンサー

  • ベストアンサー
  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.1

以下のようにして下さい。 #include <stdio.h> //標準体重の計算 int main (int argc, const char * argv[]) { int height; int weight; double x; double y; printf("あなたの標準体重を計算します\n\n"); printf("あなたの身長(cm)、体重(kg)を入力してください\n"); scanf("%d %d",&height,&weight); printf("height=%d weight=%d\n",height,weight); x=(double)height/100.0; //ここを変える y=x*x*22; printf("これが標準体重です\n"); printf(" %f \n",y); //ここを変える } ------------------------ x=(double)height/100.0; ですが、height/100だと整数型なので切り捨てが発生していまいます。 回答例のようにして、切り捨てが発生しないようにします。

279n
質問者

お礼

ご丁寧にありがとうございます。 プログラミングはまだまだ分からないことばかりなので また機会がありましたらよろしくお願いします。

その他の回答 (1)

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.2

>#1さん >x=(double)height/100.0; //ここを変える もちろん、これで正しいですが、分母・分子の少なくとも一方が double型であれば右辺全体としてdouble型になりますので、 x = (double) height / 100; x = height / 100.0; でもOKです。

279n
質問者

お礼

訂正してみると正しく表示されました。 ありがとうございました^^

関連するQ&A