我有一個簡單的c程序奇怪的問題。如果否則兩者都被執行
#include<stdio.h>
#include<math.h>
#include<conio.h>
main() {
int a, b, c, delta;
float x1, x2;
printf("Please Enter a,b,c :");
scanf("%d%d%d",&a,&b,&c);
delta = (b * b) - (4 * (a * c));
if(delta < 0){
printf("No roots!");
}
else{
if (delta >= 0){
x1 = (-b + sqrt(delta))/(2 * a);
x2 = (-b - sqrt(delta))/(2 * a);
}
}
printf("r1=%f and r2=%f", x1, x2);
getch();
}
當我輸入2 1 1
,看來,該程序執行10號線兩if
和else
和13 輸出是No roots!x1=0.0000 and x2=0.0000
出了什麼問題?
你期望輸出什麼? –
我期待看到沒有根或根:)但我發現我的問題@ ed-heal發現它:)))) –