Hiện nay e mới bước vào học lập trình C và học dc 3 buổi. Hôm nay học về thầy giao bài tính pt bậc 4, e làm xong fix hết lỗi nhưng khi chạy bó lỗi. E mò mãi mà kok dc. Em mới vừa học nên mấy anh chị biết rùi đừng chê e tội em nha .Sau đây bài của e làm: Mã: #include <stdio.h>[/SIZE] [SIZE=3] #include <conio.h> #include <math.h> void main ()[/SIZE] [SIZE=3] { float a,b,c,d,e,delta; printf("\n giai phuong trinh bac IV:"); printf("\n a*x^4+b*x^3+c*x^2+d*x+e=0"); printf("\n nhap gia tri 5 so a,b,c,d,e:"); scanf("%f,%f,%f,%f,%f",&a,&b,&c,&d,&e); printf("\n dat t^2=x,(t>=0)") printf("\n pt co dang bac 2:") delta=b*b-4*a*c; if (a==0) [/SIZE] [SIZE=3] if (b==0) { if (c==0) printf("\npt co vo so nghiem"); else printf("\npt vo nghiem"); } else printf("\npt co nghiem x=%f,-c/b"); [/SIZE] [SIZE=3] else { if (delta<0) printf("\npt vo nghiem"); if (delta==0) printf("\npt co nghiem kep") printf("\nx1= sqrt(t)") printf("\nx2= -sqrt(t)"); else if (delta>0) printf("\npt co 2 nghiem phan biet:"); printf("\nx1=%0.2f",(-b+sqrt(delta))/(2*a)); printf("\nx2=%0.2f",(-b-sqrt(delta))/(2*a)); } getch(); } [/CODE][/SIZE]
Mình chưa xét về thuật toán nhưng nhìn sơ thì bạn viết sai cú pháp if... else và thiếu dấu ; rất nhiều rồi. code dưới mình fix theo thuật toán của bạn: PHP: #include <stdio.h> #include <conio.h> #include <math.h> void main () { float a,b,c,d,e,delta; printf("\n giai phuong trinh bac IV:"); printf("\n a*x^4+b*x^3+c*x^2+d*x+e=0"); printf("\n nhap gia tri 5 so a,b,c,d,e:"); scanf("%f %f %f %f %f",&a,&b,&c,&d,&e); printf("\n dat t^2=x,(t>=0)"); printf("\n pt co dang bac 2:"); delta=b*b-4*a*c; if (a==0) if (b==0) { if (c==0) printf("\npt co vo so nghiem"); else printf("\npt vo nghiem"); } else printf("\npt co nghiem x=%f,-c/b"); else { if (delta<0) printf("\npt vo nghiem"); if (delta==0) { printf("\npt co nghiem kep"); printf("\nx1= sqrt(t)"); printf("\nx2= -sqrt(t)"); } else if (delta>0) { printf("\npt co 2 nghiem phan biet:"); printf("\nx1=%0.2f",(-b+sqrt(delta))/(2*a)); printf("\nx2=%0.2f",(-b-sqrt(delta))/(2*a)); } } getch(); }
Thanks a, bản e post lên e chưa sửa lỗi hihi. Bản sửa lỗi rùi nhưng khi chạy nó hiện mấy lỗi gì ấy. Sau khi fix lại theo cách của a, e rút ra thêm 1 chút exe nữa rùi. Để trình bày sau if thường thêm dấu {} hã a. Khi e thêm như anh thì không báo lỗi trong bản đen nữa.
Như vậy là bạn chỉ mới tập viết C, bạn nên học kĩ về lý thuyết, ý nghĩa và cách sử dụng các cú pháp. Nếu thực thi một khối lệnh, gồm nhiều lệnh sau if thì chúng ta phải đặt trong cặp {}, còn với một dòng lệnh sau if thì không cần. Chúc bạn học tốt!