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

จะเขียนโปรแกรม C เพื่อหารากของสมการกำลังสองได้อย่างไร


ปัญหา

ใช้วิธีการพัฒนาซอฟต์แวร์เพื่อแก้ปัญหาในภาษาซี

วิธีแก้ปัญหา

  • หารากของสมการกำลังสอง ax2+bx+c
  • จะมี 2 รากสำหรับสมการกำลังสองที่กำหนด

บทวิเคราะห์

ป้อนข้อมูล − ค่า a,b,c

ผลผลิต − r1, ค่า r2

ขั้นตอน

$r_{1}=\frac{-b+\sqrt{b^2-4ac}}{2a}$

$r_{2}=\frac{-b-\sqrt{b^2-4ac}}{2a}$

การออกแบบ (อัลกอริทึม)

  • เริ่ม
  • อ่านค่า a, b, c
  • คำนวณ d =b2 4ac
  • ถ้า d> 0 แล้ว
    • r1 =b+ sqrt (d)/(2*a)
    • r2 =b sqrt(d)/(2*a)
  • มิฉะนั้น ถ้า d =0 แล้ว
    • คำนวณ r1 =-b/2a, r2=-b/2a
    • พิมพ์ค่า r1,r2
  • มิฉะนั้น ถ้า d <0 รากพิมพ์จะเป็นจินตภาพ
  • หยุด

จะเขียนโปรแกรม C เพื่อหารากของสมการกำลังสองได้อย่างไร

รหัสการใช้งาน

# include<stdio.h>
# include<conio.h>
# include<math.h>
main (){
   float a,b,c,r1,r2,d;
   printf (“enter the values of a b c”);
   scanf (“ %f %f %f”, &a, &b, &c);
   d= b*b – 4*a*c;
   if (d>0){
      r1 = -b+sqrt (d) / (2*a);
      r2 = -b-sqrt (d) / (2*a);
      printf (“The real roots = %f %f”, r1, r2);
   }
   else if (d= =0){
      r1 = -b/(2*a);
      r2 = -b/(2*a);
      printf (“roots are equal =%f %f”, r1, r2);
   }
   else
      printf(“Roots are imaginary”);
   getch ();
}

การทดสอบ

Case 1: enter the values of a b c: 1 4 3
   r1 = -1
   r2 = -3
Case 2: enter the values of a b c: 1 2 1
   r1 = -1
   r2 = -1
Case 3: enter the values of a b c: 1 1 4
Roots are imaginary