ここから本文です

C言語のdoubleの変数a,b,cを宣言し、キーボードより3つの値を読み込む。

han********さん

2014/7/2320:20:57

C言語のdoubleの変数a,b,cを宣言し、キーボードより3つの値を読み込む。

1
3つの値を引数で受け取り
b*b-4*a*c
の結果を返す関数hantei()を受け取り、その結果が
0.0より大きければ、
"2 Jinkkon\n"
0.0より小さければ、
"Kyokon\n"
と出力し、それ以外であれば
"Juukon\n"
と出力するプログラムを書け。 という問題で

#include<stdio.h>

void hantei(double ,double ,double );

int main(void)
{
int i,a,b,c;
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);

if( i > 0){
printf("2 Jinkon\n");
} else if(i < 0){
printf("Kyokon\n");

}else{
printf("Juukon\n");
}
}
void hantei(double a,double b,double c)
{

while();


b*b-4*a*c;


return ;


}

ここまでやったのですが、ここから先がわかりません。
どなたか教えて下さい。

閲覧数:
51
回答数:
1

違反報告

ベストアンサーに選ばれた回答

2014/7/2323:48:44

間違い1
>doubleの変数a,b,cを宣言
double になっていません。
double にすると、当然
scanf("%d",&...
も変わります。

間違い2
>結果を返す関数hantei()
void hantei(double a,double b,double c)
void は、結果を返さない(引数に書いてあれば引数を受け取らない)関数です。

間違い3
>b*b-4*a*c
>の結果を返す
繰り返し(while)は必要ありません。
単純に
return b*b-4*a*c;
だけです。
普通は double に合わせるために、
return b*b-4.0*a*c;
としますが、問題が 4 となっているなら、4にします。
周りが double なので、4.0 の double に格上げして計算されますので
結果に差は出ません。

間違い4
hantei() が呼ばれていません。
当然ですが、hantei() の返した結果は、hantei() の返す型と同じでなくてはいけません。

  • 2014/7/2323:50:42

    hantei() の返した結果は、=>hantei() の返した結果を格納する変数は、

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この回答は投票によってベストアンサーに選ばれました!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる