Chủ đề: Các bạn sửa lỗi dùm mình với!
-
22-08-2014, 08:13 AM #1
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Mình thử copy bài mẫu giải phương trình bậc hai trong phần bài tập cơ bản của mấy bạn post lên thì chương trình giải cũng cho kết quả sai luôn. Mình dùng bc5.02 để viết và chạy. Bài mẫu đây ạ:
/* Bai tap 4_1 - Giai phuong trinh bac hai AX˝ + BX + C = 0 */
#include <stdio.h>
#include <math.h>
void main()
{
float a, b, c, delta;
printf("
Giai phuong trinh bac hai AX˝ + BX + C = 0");
printf("
Cho biet ba he so A B C : ");
scanf("%f%f%f", &a, &b, &c);
delta = b * b - 4 * a * c;
if (delta<0)
printf("Phuong trinh vo nghiem");
else if (delta == 0)
printf("Phuong trinh co nghiem kep x1 = x2 = %f", -b/(2*a));
else
{
printf("Phuong trinh co hai nghiem phan biet
x1 = %f", (-b + sqrt(delta))/(2*a));
printf("
x2 = %f", (-b - sqrt(delta))/(2*a));
}
getch();
}View more random threads:
- Dãy Fionaci
- khai bao biến flag, flag trong giải hệ pt n ẩn
- [Xin] Xin tài liệu lập trình với bàn phím và chuột
- giúo en bàu bày với
- Bài tập quản lý thư viện trong lập trình C++ - Có đề bài.
- vấn đề tự debug trên visual 2010
- tính số tờ tièn các loại
- Cho hỏi thư viện stdio.h và stdafx.h
- Bài tập C++ ma trận kiểm tra liên kết các số
- kỹ thuật làm struct
-
22-08-2014, 08:25 AM #2
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Sai trong lời gọi scanf [IMG]images/smilies/biggrin.png[/IMG]
-
22-08-2014, 05:29 PM #3
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Có lẽ bạn đánh máy nhầm dòng delta = b*b+4*a*c; trong khi thực sự mã trong chương trình của bạn là delta = b*b-4*a*c;
Còn với Ví dụ của bạn, có lẽ bạn đã gõ các ký tự sau: '3' , '0', '-', '2'. scanf sẽ chuyển ép ký tự '-' vào biến c và sẽ là số dương. Dẫn tới delta = b*b - 4*a*c sẽ nhỏ hơn 0.
Cuối cùng điều kiện delta<0 phù hợp với lệnh printf("
Phuong trinh khong co thuc");
Đây là phỏng đoán của mình thôi, phương trình bậc 2 mình đã trả lại thầy cô hết rồi. Thân
-
22-08-2014, 07:14 PM #4
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Các bạn sửa lỗi dùm mình với!
//Giai phuong trinh bac 2
#include "stdio.h"
#include "conio.h"
#include "math.h"
void main()
{
float a,b,c;
float delta;
printf("
Nhap a,b,c:");
scanf("%f%f%f",&a,&b,&c);
delta=b*b-4*a*c;
if (delta==0)
printf("
Phuong trinh co nghiem kep x=%10.2f",-b/(2*a));
else
if (delta>0)
{
printf("
Phuong trinh co 2 nghiem:
x1=%10.2f",(-b-sqrt(delta))/(2*a));
printf("
x2=%10.2f",(-b+sqrt(delta))/(2*a));
}
else
printf("
Phuong trinh khong co thuc");
getch();
}
Mình làm xong kiểm tra không có lỗi nhưng nhập số vô tính thử thì lại sai. VD pt: 3xx -2=0 nó ra pt ko co thuc
NGUỒN SỈ ÁO KHOÁC DENIM NỮ TPHCM CHẤT LƯỢNG CAO Bạn muốn nhập sỉ áo khoác denim nữ để bắt đầu việc buôn bán Online phong cách nhưng lại chưa có kinh nghiệm, muốn sắm xưởng sỉ xống áo vừa có thể giải...
Xưởng sỉ áo khoác jeans denim giá...