填空题
1. 请补充main()函数,该函数的功能是:求方程ax
2+bx+c=0的两个实数根。方程的系数a、b、c从键盘输入,如果判别式(disc=b*b-4*a*c)小于0,则要求重新输入a、b、c的值。
例如,当a=1,b=2,c=1时,方程的两个根分别是:x
1=-1.00,x
2=-1.00。
注意:部分源程序如下。
请勿改动函数中的其他任何内容,仅在横线上填入所编写的若干表达式或语句。
试题程序:
#include<math.h>
#include<stdio.h>
void nlain()
{
double a,b,c,x1,x2,disc;
do
{
prinrf("Input a,b,c:");
scanf("%1f,%1f,%1f",&a,&b,&c);
disc=b*b-4*a*c;
if(disc<0)
printf("disc=%1f\n Input again!\n",disc);
}
while(______);
printf("****the result****\n");
x1=(-b+______(disc))/(2*a);
x2=(-b-______(disc))/(2*a);
printf("\nx1=%6.21f\nx2=%6.21f\n",x1,x2);
}
【正确答案】
1、disc<0或0>disc
sqrt
sqrt
【答案解析】 本题考查的是do-while循环。第第1空处填“disc<0”或“0>disc”;由本题引入“#include<math.h>”头文件可知,可调用函数sqrt()。