プログラムを正しい値を出力するように・・・

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
takeru

プログラムを正しい値を出力するように・・・

#1

投稿記事 by takeru » 14年前

下記のプログラムをちゃんと動作し正しい値を出力するようにしたいのですがどうしてらいいのか分かりません。
どなたか教えてください。

コード:

 
#include<stdio.h>
#include <math.h>
void shoriA(double a,double b,double c) 
{
    double x,y,d,i;
    if(a==0 && b==0){
    	printf("不能\n");
    }
    if(a==0 && b!=0){
    	i=-c/b;
	printf("一次式:%f\n",i);
    }
    d=b*b-4*a*c;
    x=(-b)/(2*a);
    y=sqrt(abs(d))/(2*a);
    if(d>0){
    	printf("実数解:%f,%f\n",x+y,x-y);
    }
    if(d==0){
    	printf("重解:%f\n",x);
    }
    else{
    	printf("虚数解:%f,%f\n",x,y);
    }
}
int main(void)
{
	double a,b,c;
	while (1){ 
	printf("整数a:");  scanf("%d", &a);
	printf("整数b:");  scanf("%d", &b);
	printf("整数c:");  scanf("%d", &c);
	if(a==0 && b==0 && c==0){
		break;
	}
	shoriA(a,b,c);
	}
	return(0);
}
ちなみに2次方程式を解くプログラムです。

beatle
記事: 1281
登録日時: 14年前
住所: 埼玉
連絡を取る:

Re: プログラムを正しい値を出力するように・・・

#2

投稿記事 by beatle » 14年前

使用しているコンパイラ名、バージョン、OS名と、あなたが期待している「正しい値」というのを教えて下さい。

beatle
記事: 1281
登録日時: 14年前
住所: 埼玉
連絡を取る:

Re: プログラムを正しい値を出力するように・・・

#3

投稿記事 by beatle » 14年前

質問の書き方としては
「今、このプログラムは〇〇という値を出力する(またはコンパイルエラーになる)が、△△という値を出力するようにしたい。
・・・と思ったのでここをこんな風に改造したら、☆☆という結果になってしまった。
次に~と思ったのでここをこんな風に改造したら、□□という結果になってしまった。」
のように書くといいかもしれませんね。
試行錯誤の結果が載っていると、質問者さんの思考法も少し把握できますから、より適切な回答を期待できます。

コレを書き終わってから、2重投稿に気が付きました。
どうしたらいいでしょうか。
http://dixq.net/forum/viewtopic.php?f=3&t=9610

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: プログラムを正しい値を出力するように・・・

#4

投稿記事 by softya(ソフト屋) » 14年前

こちらを閉鎖しておきますので、もうひとつの方を使って下さい。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

“C言語何でも質問掲示板” へ戻る