01_01 | programのブログ

programのブログ

ブログの説明を入力します。

#include <stdio.h>
#include <math.h>

int main (void)
{
int a,b,c,intSolution;
double doubleSolution,imaginary,realA,realB;
/*
変数の定義

intSolution b^2-4acの解のint型
doubleSolution 上記のdouble型
imaginary 解の虚数部
realA realB 解の実数部

*/


printf("ax^2+bx+c=0の解を表示します。\naの値:");
scanf("%d",&a);
printf("bの値:");
scanf("%d",&b);
printf("cの値:");
scanf("%d",&c);
/*a,b,cを入力させる*/


intSolution = b*b-4*a*c;
doubleSolution = intSolution;
/*解が虚数解となるかどうかを確認する*/


if(intSolution < 0)/*虚数解の有無で場合分け*/
{
imaginary = sqrt(-doubleSolution)/(2*a);
realA = -b/(2*a);
/*虚数部と実数部を求める*/


printf("\n解:%.2lf±%.2lfi\n",realA,imaginary);
/*
解の表示
%lfの%とlfの間の『.2』は小数点以下何桁まで表示するかを表す
*/
}

else
{
realA = -b/(2*a)+sqrt(doubleSolution)/(2*a);
realB = -b/(2*a)-sqrt(doubleSolution)/(2*a);
/*実数解を2つ求める*/

if(realA == realB)/*重解かどうかを判定*/
{
printf("\n解:%.2lf\n",realA);
/*解を表示*/
}
else
{
printf("\n解:%.2lf,%.2lf\n",realA,realB);
/*解を表示*/
}
}


return 0;
}