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

こんにちは。大学のプログラミングの講義で
「4名の身長に追加する形でキーボード(標準入力)から自分の身長を入力し、計5名の身長の平均をポインタを使って求めるC言語プログラムを作成せよ」という課題が出されました。
なかなかわからず、現段階では以下のようになっていますが実行すると途中で停止し終了してしまいます。どうすれば正常に作動できますか?

#include <stdio.h>

void hiroko(int *height)
{
if(*height<180)
*height=180;
}

int main(void)
{
int sato=178;
int sanaka=175;
int hiraki=165;
int masaki=179;
double my;

hiroko(&masaki);


puts("身長を入力\n");

printf("自分の身長:");scanf("%f",my);
printf("佐藤君の身長:%d\n",sato);
printf("佐中君の身長:%d\n",sanaka);
printf("平木君の身長:%d\n",hiraki);
printf("真崎君の身長:%d\n",masaki);
printf("5人の身長平均:%f",(my+sato+sanaka+hiraki+masaki)/5);

return 0;

}

A 回答 (3件)

変数 my が double なので、scanf() で対応する書式指定子は "%lf" になります。


scanf("%lf", &my);

※ちなみに、printf() における double に対応する書式指定子は、"%f" です。

そもそも、hiroko() という関数が何をしているか説明できますか?
あと、4人の身長が int なのに、自分の身長だけ double なのはなぜか、説明できますか?
    • good
    • 0
この回答へのお礼

ありがとうございます。

hiroko()は、masakiのアドレスを得ているということです。

doubleに関しては、平均が小数点まで反映したいのでそのように入力しました。

お礼日時:2015/01/08 15:07

ポインタを使っていない気がする。

    • good
    • 0
この回答へのお礼

了解しました。

お礼日時:2015/01/08 15:08

scanf("%f",my);



scanf("%f",&my);
にすべし。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2015/01/08 15:09

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