C++:专题二实验(求方程ax²+bx+c=0的解、海伦公式、调试)

C++:专题二实验(求方程ax²+bx+c=0的解、海伦公式、调试)

创作说明:

受前辈@mark7758启发,学习并借鉴了前辈的作品后,着手创作本系列文章,以便记录学习过程,以及供同学们学习交流。

实验目的:

  1. 掌握C++中的基本数据类型的算术运算和逻辑运算;
  2. 理解并掌握C++中运算符的优先级;
  3. 掌握简单的类型转换方法;
  4. 掌握C++的math头文件中常用的几种数学运算;
  5. 了解visual studio的debug功能,并使用debug功能完成单步执行程序、设置断点和观察变量值等操作。

实验内容:

  1. 给出系数a b c,求方程ax²+bx+c=0的解。a、b、c是浮点数。要求在程序中包含方程是一次方程还是二次方程的判断,对于解的个数不同的情况,也要分情况输出。
  2. 三角型的面积有很多种求法,有一种求法叫海伦公式,是在已知三角形三边长的条件下求解三角形面积的方法。用海伦公式求解三角形面积。
  3. 学习使用visual studio的debug功能并进行简单的调试操作。
(一)给出系数a b c,求方程ax²+bx+c=0的解。a、b、c是浮点数。要求在程序中包含方程是一次方程还是二次方程的判断,对于解的个数不同的情况,也要分情况输出。
#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    float a, b, c, delta, result, result2;
    cout << "请输入方程ax^2+bx+c=0中a,b,c的值:" << endl;
    cin >> a >> b >> c;
    delta = b * b - 4 * a * c;

    if(a == 0)
    {
        if(b == 0)
            cout << "这不是方程" << endl;
        else
        {
            result = -c / b;
            cout << "方程" << b << "x+" << c << "=0为一次方程" << endl;
            cout << "其结果为:x=" << result << endl;
        }
    }
    else
    {
        if(b == 0)
            cout << "方程" << a*a << "x^2+" << c << "=0为二次方程" << endl;
        else
            cout << "方程" << a*a << "x^2+" << b << "x+" << c << "=0为二次方程" << endl;

        if(delta < 0)
            cout << "方程无解" << endl;
        else if(delta == 0)
        {
            result = -b / (a * 2);
            cout << "方程只有一个解" << endl;
            cout << "其结果为x1=x2=" << result << endl;
        }
        else
        {
            result = (-b + sqrt(delta)) / (a * 2);
            result2 = (-b - sqrt(delta)) / (a * 2);
            cout << "方程有两个解" << endl;
            cout << "其结果为x1=" << result << ",x2=" << result2 << endl;
        }
    }
}

在这里插入图片描述

(二)三角型的面积有很多种求法,有一种求法叫海伦公式,是在已知三角形三边长的条件下求解三角形面积的方法。用海伦公式求解三角形面积。
#include <iostream>
#include <cmath>

using namespace std;

int main()

{
    float a, b, c, delta, p, s;
    cout << "请输入三角形的三边长a,b,c:" << endl;
    cin >> a >> b >> c;
    p = (a + b + c) / 2;
    delta = p * (p - a) * (p - b) * (p - c);

    if(delta <= 0)
        cout << "三角形边长输入有误!" << endl;
    else
    {
        s = sqrt(delta);
        cout << "三角形的面积为:" << s << endl;
    }
}

在这里插入图片描述

(三)学习使用visual studio的debug功能并进行简单的调试操作。

*图片来自@mark77581


  1. 原文链接:https://blog.csdn.net/Mark7758/article/details/109214385?spm=1001.2014.3001.5501* ↩︎

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值