Code giải phương trình bậc 2 không ra nghiệm là số thập phân

Nghiệm k ra số thập phân dc giúp mình với

#include "stdio.h"
int main()
{
	int a, b;
	float c;
	scanf("%d%d", &a, &b);
	if (a == 0) {
		if (b == 0) {
			printf("phuong trinh vo so nghiem" );
		}
		else {
			printf("phuong trinh vo nghiem");
		}
    }    
		else
	{
		c = -b / a;
		printf("%f", c);
	}
}

ok bạn ép kiểu cho -(float)b/a chưa!

mình thử r với a=2 b=1 thì kết quả là 0.00000 chứ k phải 0.5

bạn ép kiểu c = -(float)b/a; thì mới ra kết quả đó!
nếu lỗi nữa thì chụp màn hình đi!

1 Like

Hỏi ngủ: Trong C không có hoặc “||” giống trong java hả hay sao phải dùng if lồng nhĩ ?

Chào hunter!
Trong ngôn ngữ C có hoặc(||)

1 Like

Chào phamtrung!
Cho mình xin cái link bạn viết code đi!
minh toàn sài bên https://www.tutorialspoint.com/codingground.htm

https ://repl.it/languages/c

Chào phamtrung!
Bạn học năm nhất đúng ko? vậy thì cài IDE đi chứ không thì nát! cảm ơn nếu nghe theo!
Học theo admin DNH nha: https://www.youtube.com/watch?v=bv4wVWi-Fjc&list=PLyiioioEJSxHr5X8RNY3QXUGcjzeZeI7l

2 Likes

Mình cũng cho chạy trên dev c++ r mới dùng online
Mà nó vẫn ra -0.000000 chứ k phải 0.5

chào phamtrung!
ok! giờ tụi mình làm theo cơ bản nha!
khi nhập a thì bạn viết ra màn hình nhập a và nhập b cũng vậy nếu nó vẫn sai thì mình bó tay!

Chào phamtrung!
Mình hiểu tại sao bạn sai rồi! khi nhập a và b bạn phải nhấn enter 2 lần giả sử a = 1 enter rồi nhấn 2 enter -> kết quả đúng còn ở đây bạn viết 2 space 1 rồi enter enter -> a = 2 b = 0 -> c = -0.000

vẫn k dc mốt lên hỏi thầ.__.

Chào phamtrung!
-(float)(b/a) ! = -(float)b/a Bạn học lại độ ưu tiên của toán tử nha!

  1. -(float)(b/a)
    Có nghĩa là thực thi phép chia 2 số kiểu integer = 1 con số integer rồi ép kiều nó thành float.
  2. -(float)b/a
    Có nghĩa là ép kiểu b thành float rồi thực thi phép chia -> kết quả là 1 con số float!
    Cụm từ search: precedence operator in c
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?