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

どこがまちがってますか?

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

int main(void){
int a, b, c;
float x, x1, x2, r, i, D;

printf("\n ax^2 + bx + c = 0\n\n");

printf(" a = ");
scanf_s("%d", &a);
printf(" b = ");
scanf_s("%d", &b);
printf(" c = ");
scanf_s("%d", &c);

D = b*b - 4 * a*c;

if (D > 0){
x1 = (-b + sqrt(D)) / (2 * a);
x2 = (-b - sqrt(D)) / (2 * a);

printf("\n x1 = %.2f , x2 = %.2f\n\n", x1, x2);
}

if (D = 0){
x = -b / (2 * a);

printf("\n x = %.2f(重解)\n\n", x);
}

if (D < 0){
r = -b / (2 * a);
i = (sqrt(-D)) / (2 * a);

printf("\n x1 = %.2f + %.2fi", r, i);
printf("\n x2 = %.2f - %.2fi\n\n", r, i);
}

return 0;
}

A 回答 (3件)

if (D = 0){ は、



if (D == 0){ ですね。

虚数解は表示しましたよ。
    • good
    • 1

>printf("\n x1 = %.2f + %.2fi", r, i);


>printf("\n x2 = %.2f - %.2fi\n\n", r, i);

iが負だとおかしな表示になります。
    • good
    • 0

#1 に加えて


x = -b / (2 * a);
とか
r = -b / (2 * a);
も間違ってる.
    • good
    • 0

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