您的位置: 网站首页 > 程序开发 > C语言程序设计 > 第3章 顺序结构程序设计 > 【3.6 上 机 实 验】

3.6 上 机 实 验

 

3.6 

1)求一元二次方程x2+x-2=0的根。

对一元二次方程ax2+bx+c=0,若b2-4ac0,则方程有两个实根:

x1=(-b+q)/(2*a)

x2=(-b-q)/(2*a)

这里a=1b=1c=-2b2-4ac=9>0,方程有两个实根。首先输入方程系数abc,然后利用上述求根公式计算两个实根x1x2,其中利用赋值语句q=sqrtb*b-4*a*c);把中间结果存放在变量q中,这样做的好处是避免重复计算。最后输出结果,输出x1,x2时采用%.0f格式,表示输出实数,但不保留小数位。因为程序中使用了求平方根函数sqrt,它在math.h文件中定义(其他数学类函数也在该文件中定义)。所以用预处理命令#include<math.h>把文件math.h包含到程序中。

/*文件名:chap03_9.cpp*/

#include<stdio.h>

#include<math.h>

void main()

{

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

    printf("请输入:a,b,c\n");

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

    q=sqrt(b*b-4*a*c);

    x1=(-b+q)/(2*a);

    x2=(-b-q)/(2*a);

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

}

程序运行结果为

请输入:a,b,c

输入:11-2

输出:x1=1x2=-2

2)输入两个整数ab(设a=1500b=350),求a除以b的商和余数,编写完整程序并按如下形式输出结果(□表示空格)。

a=1500,b=350

a/b=□□4,theamodb=100

这个程序由3部分组成:输入部分(输入整型变量ab的值),计算处理部分(求a/b的商和余数),输出部分(按要求输出结果)。

/*文件名:chap03_10.cpp*/

#include<stdio.h>

void main()

{

    int a,b,c,d;

    scanf("%d,%d",&a,&b);

    c=a/b;/*a/b的商*/

    d=a%b;/*a/b的余数*/

    printf("a=%5d,b=%4d\n",a,b);

    printf("a/b=%3d,the a mod b=%4d\n",c,d);

}