Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรม C หารากของสมการกำลังสอง


ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อค้นหารากของสมการกำลังสอง

จากสมการกำลังสองของรูปแบบ ax2 + bx + c งานของเราคือการหาราก x1 และ x2 ของสมการที่กำหนด

สำหรับสิ่งนี้เรากำลังใช้วิธีการกำหนดในสิ่งนี้

D =√b 2 - 4ac

แล้วรากของสมการจะเป็น

x1 =(-b + D)/2a และ

x2 =(-b - D)/2a

ตัวอย่าง

#include<stdio.h>
#include<math.h>
#include<stdlib.h>
//calculating the roots of equation
void calc_roots(int a, int b, int c) {
   if (a == 0) {
      printf("Invalid Equation");
      return;
   }
   int d = b*b - 4*a*c;
   double sqrt_val = sqrt(abs(d));
   if (d > 0) {
      printf("Roots are both real and different \n");
      printf("%f\n%f",(double)(-b + sqrt_val)/(2*a) , (double)(-b - sqrt_val)/(2*a));
   }
   else if (d == 0) {
      printf("Roots are real and same \n");
      printf("%f",-(double)b / (2*a));
   } else {
      printf("Roots are complex \n");
      printf("%f + i%f\n%f - i%f", -(double)b /(2*a),sqrt_val ,-(double)b / (2*a), sqrt_val);
   }
}
int main() {
   int a = 2, b = -5, c = 8;
   calc_roots(a, b, c);
   return 0;
}

ผลลัพธ์

Roots are complex
1.250000 + i6.244998
1.250000 - i6.244998