itgle.com

请补充main函数,该函数的功能是求方程ax2+bx+c=0的根(方程的系数a,b,c从键盘输入)。例如, 当a=1,b=2,c=1时, 方程的两个根分别是:x1=-1.00,x2=-1.00。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。试题程序:include <stdio.h>include <conio.h>include <math.h>main(){float a,b,c,disc,x1,x2,p,q;scanf

题目

请补充main函数,该函数的功能是求方程ax2+bx+c=0的根(方程的系数a,b,c从键盘输入)。

例如, 当a=1,b=2,c=1时, 方程的两个根分别是:

x1=-1.00,x2=-1.00。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。

试题程序:

include <stdio.h>

include <conio.h>

include <math.h>

main()

{

float a,b,c,disc,x1,x2,p,q;

scanf("%f,%f,%f",&a,&b,&c);

disc=b*b-4*a*c;

clrscr();

printf("****** the result ****+*+\n");

if(disc>=0)

{

x1=【 】;

x2=(-b-sqrt(disc))/(2*a);

printf("x1=%6.2f,x2=%6.2f\n",x1,x2);

}

else

{

p=【 】;

q=【 】;

printf("x1=%6.2f+%6.2f i\n",p,q);

printf("x2=%6.2f-%6.2f i\n",p,q);

}

}


相似考题
更多“请补充main函数,该函数的功能是求方程ax2+bx+c=0的根(方程的系数a,b,c从键盘输入)。 例如,当a=1,b ”相关问题
  • 第1题:

    请补充main 函数,该函数的功能是:计算两个自然数n和m(m<10000)之间所有数的和(n和m从键盘输入)。

    例如:当n=1,m=100时,sum=5050:当n=100,m=1000时,sum=495550。

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在 main 函数的横线上填入所编写的若干表达式或语句。

    试题程序:

    include<stdio.h>

    include<conio.h>

    main ()

    {

    int n, m;

    long sum;

    【 】

    clrscr ();

    printf ("\nInput n,m\n");

    scanf ("%d, %d", &n, &m);

    while (n<=m)

    {

    【 】

    n++;

    }

    printf ("sum=%【 】\n", sum);

    }


    正确答案:sum=0 sum+=n 1d
    sum=0 sum+=n 1d 解析:第一空:变量sum 进行了类型声明,但没有进行初始化,而后面的程序用sum 来存放最后的结果,所以要在使用前将sum 初始化为0。第三空:通过while 循环将自然数n和m之间的数进行累加,结果存于sum 中。第三空:由于sum 为长整型,所以标准输出函数printf ()中的格式控制符为“%1d”。

  • 第2题:

    以下是一个判断一元二次方程ax2+bx+c=0根的方程的程序,请补充该程序。提示:

    &8226;当a<>0时有两个根.设delta=b2-4ac,当delta>0时,有两个不同的实根.当delta=0时,有两个相同的实根。当delta<0时,有两个不同的虚根。

    &8226;当a=0,b<>0时,有一个根。

    &8226;当a=0、b=0时,方程无意义。

    Private Sub Command1_Click()

    Dim a As Single

    Dim b As Single

    Dim c As Single

    Dim sb As Single

    Dim xb As Single

    Dim re As Single

    a = InputBox (“请输入a的值”)

    c = InputBox(“请输入c的值”)

    if【 】then

    delta = b ^2- 4 * a * c

    re = -b/(2 * a)

    if【 】then

    sb = Sqr (delta)/(2 * a)

    Print “方程有两个实根”

    Elseif delta = 0 then

    Print “方程有两个相等实根”

    Else

    xb = Sqr( - delta)/(2 * a)

    Print “方程有两个虚要”

    End if

    Else

    if【 】then

    ygz = - b / c

    Print “方程仅有一个根”

    Else

    print “方程无意义”

    End if

    End if

    End Sub


    正确答案:a>0delta>0b>0
    a>0,delta>0,b>0 解析:本题的难点是块结构if语句的使用问题,在程序中用到if语句的嵌套使用。从三个填空来看,均为逻辑关系式。

  • 第3题:

    编程求方程ax2+bx+c=0的根。在主函数中输入a、b、c的值,如果b2-4ac大于或者等于0,求出方程的根并输出结果。如果b的平方-4ac小于0,就输出“方程无实根”的信息。


  • 第4题:

    请补充main函数,该函数的功能是:从键盘输入一组整数,使用条件表达式找出最大的整数。当输入的整数为0时结束。

    例如,输入1,2,3,5,4,0时,最大的数为5。

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写出的若干表达式或语句。

    试题程序:

    include<stdio.h>

    include<conio.h>

    define N 100

    main()

    {

    int num[N];

    int i=-1;

    int max=0;

    clrscr();

    printf("\nInput integer number:\n");

    do

    {

    i++;

    printf("num[%d]=",i);

    scanf("%d",【 】);

    max=【 】num[i]:max;

    }while (【 】);

    printf("max=%dkn",max);

    }


    正确答案:&num[i] maxnum[i]? num[i]!=0
    &num[i] maxnum[i]? num[i]!=0 解析:第一空:注意掌握标准输入函数scanf()的调用格式,输入参数列表中变量前面要使用求址运算符&。第二空:注意掌握条件表达式的用法,当输入的数比最大值大时,则认为此输入的数为最大值,否则最大值不变。第三空:题目要求输入的整数以0结束,所以,当输入的数不为0时,继续do—while循环,否则终止循环。

  • 第5题:

    请补充main()函数,该函数的功能是求方程axs+bx+c=0的两个实数根。方程的系数a、b、C从键盘输入,如果判别式(disc=b*b-4*a*c)tb于0,则要求重新输人a、b、c的值。 例如,当a=1,b=2,c=1时,方程的两个根分别是:x1=-1.00,X2=-1.00。 注意:部分源程序给出如下。 请勿改动函数中的其他任何内容,仅在横线上填入所编写的若干表达式或语句。 试题程序:


    正确答案:
    【1】disc%0或0>disc【2】sqrt【3】sqrt
    【解析】本题考查的是do-while循环,第【1】处填空:“disc<0”或“0)disc”;本题引入“#include<math.h>”头文件可知,可调用函数sqrt。