2015.10.20(rev.1)
(3)条件
条件文は表のような関係演算子を用いて表現する。
関係演算子意 味使用例 数学表現
>
より大きい
a>b
a>b
<
より小さい
a<b
a<b
>=
以上
a>=b
a≧b
<=
以下
a<=b
a≦b
==
等しい
a==b
a=b
!=
等しくない
a!=b
a≠b

(4)例題:2次方程式の解
 2次方程式ax*x+bx+c=0(a≠0)の係数a, b, c を読みこみ,その解を出力するプログラムを作成 せよ。

/* 0042xxx 修道太郎 2000/11/17 */
#include <stdio.h>
#include <math.h>
main()
{
float a,b,c,d,x1,x2,x1i,x2i;
printf("a,b,c=");
scanf("%f %f %f",&a,&b,&c);
d=b*b-4.0*a*c;

if(d>0)
{
x1=(-b+sqrt(d))/(2.0*a);
x2=(-b-sqrt(d))/(2.0*a);
printf("実数解 \n");
printf("x1=%13.3f\n",x1);
printf("x2=%13.3f\n",x2);
}
else
{
if(d==0)
{
x1=-b/(2.0*a);
printf("重解 \n");
printf("x=%13.3f\n",x1);
}
else
{
x1=-b/(2.0*a);
x1i=sqrt(-d)/(2.0*a);
x2=x1;
x2i=-x1i;
printf("虚数解 \n");
printf("x1=%13.3f+%13.3fi\n",x1,x1i);
printf("x2=%13.3f+%13.3fi\n",x2,x2i);
}
}
}

[説明]
1. 判別式dを計算して場合別けし,実数解,重解,複素解に 別けて処理する。
2. sqrt( )は平方根を計算する数学関数である。これらを 使うときは,math.hをインクルードしておく必要がある。
3. else ifを使うこともできる

[コンパイル・リンク]
数学関数を含む場合,数学ライブラリをリンクするため, 次のようにする。ファイル名をr31.cとする。

cc -o r31 r31.c -lm


前へ
次へ
廣光先生のホームページ