Em viết có dài quá không ạ?

#include<stdio.h>
#include<math.h>
int main()
	{
int a,b,c;
float d,x1,x2,x;
		printf("phuong trinh bac 2 ax^2+bx+c=0 \n");
		printf("nhap gia tri cho a= \n");
		scanf("%d", &a);
		printf("nhap gia tri cho b= \n");
		scanf("%d", &b);
		printf("nhap gia tri cho c= \n");
		scanf("%d", &c);
	if (a==0)
	{
		x=-c/b;
		printf("phuong trinh co mot 1 nghiem x="),printf("%f",x);
	}
	if (a!=0)
{
		d=b*b-4*a*c;
	if(d<0)
	{
		printf("phuong trinh vo nghiem");
	}
	else if(d==0)
	{
		x1=x2=-b/(2*a);
		printf("phuong trinh co nghiem kep x1=x2= "),printf("%f", x1,x2);
	}
	else
	{
		x1=(-b-d)/(2*a);
		x2=(-b+d)/(2*a);
		printf("phuong trinh co 2 nghiem \n");
		printf("x1=%f \n", x1);
		printf("x2=%f \n", x2);
	}
}
	return 0;
}

Đến title còn dài thì nói gì đến code :)))

Bài toán tìm nghiệm cho phương trình bậc 2 thường dành cho các bạn mới học code và chỉ dùng if, else để tìm nghiệm. Với đối tượng này, thì bài viết rất tốt, chỉ cần căn lề một chút là được.

Em có thể thêm đối tượng muốn chia sẻ vào titlte: Chia sẻ code giải phương trình bậc 2, dành cho người mới bắt đầu.

Đừng quan tâm nhiều, vì bài viết của em không dành cho những người tưởng mình giỏi. Nếu họ giỏi thật thì đã góp ý sửa cho e rồi. :wink:

5 Likes

Nhìn sơ sơ có vẻ ổn, nhưng có vài điểm theo mình cần sửa lại:

  1. Bạn đã có if (a == 0) ở trên rồi tại sao bên dưới lại cần if (a != 0) chi nữa. Dùng else là được mà.
  2. Nếu trường hợp a=0 thì bạn xem lại cách giải phương trình bậc 1 nhé.
  3. Không nên khai báo x1, x2 trước, khi nào cần dùng hãy khai báo. VD thay vì
float x1, x2;
if (d > 0)
{
    x1 = ...
    x2 = ...
}

thì hãy thay bằng

if (d > 0)
{
    float x1 = ...
    float x2 = ....
}
  1. Viết code thụt lề cho thống nhất, code của bạn thụt lề khá khó chịu.
6 Likes

Dạ vâng, em cũng đang tự hx đây ạ

để em thử, lúc em viết, thường bị lỗi ở if, else if, và else.

if … else… nghĩa là
Nếu đúng thì làm {đoạn code 1}
còn không thì làm {đoạn code 2}
vế if là bắt buộc, còn else có thể có có thể không.
if … else if là lệnh if lồng nhau, không giới hạn số lượng else if bên trong, nhưng được khuyến cáo không nên else if nhiều quá (tìm cách khác để giảm bớt else if)

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?