アプリ版:「スタンプのみでお礼する」機能のリリースについて

標準体重計算のプログラミングを作成しています。身長(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");

A 回答 (2件)

以下のようにして下さい。


#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だと整数型なので切り捨てが発生していまいます。
回答例のようにして、切り捨てが発生しないようにします。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/07/15 12:24

>#1さん


>x=(double)height/100.0; //ここを変える

もちろん、これで正しいですが、分母・分子の少なくとも一方が
double型であれば右辺全体としてdouble型になりますので、

x = (double) height / 100;
x = height / 100.0;

でもOKです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/07/15 12:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!