当前位置: 首页 > news >正文

长葛网站建设seo专业术语

长葛网站建设,seo专业术语,怀化鹤城区新冠疫情最新消息,软件下载类型网站怎么做描述 编写一个程序,实现求解形如ax^2 bx c 0的二次方程的根。要求使用三个函数分别计算b^2 - 4ac大于0、等于0和小于0时的根,并在主函数中输出结果。 输入 输入三个浮点数a、b和c,分别表示二次方程的系数。 输出 输出二次方程的根&am…

描述

编写一个程序,实现求解形如ax^2 + bx + c = 0的二次方程的根。要求使用三个函数分别计算b^2 - 4ac大于0、等于0和小于0时的根,并在主函数中输出结果。

输入

输入三个浮点数a、b和c,分别表示二次方程的系数。

输出

输出二次方程的根,格式为两个浮点数,用空格隔开。

输入样例 1 

5 -4 -1

输出样例 1

x1=1.000 x2=-0.200
#include <iostream>
#include <cmath>       //需要用到sqrt函数
#include <iomanip>      //需要用到保留几位小数当中
#include <utility>       //需要用到pair
using namespace std;pair<float, float> dayu(float a, float b, float c)
{float t = sqrt(b * b - 4 * a * c);float x1, x2;x1 = (-b + t) / (2 * a);x2 = (-b - t) / (2 * a);pair<float, float>result;result = make_pair(x1, x2);return result;                  //此处需要返回两个值
}float dengyu(float a, float b, float c)
{float x1, x2;x1 = x2 = (-b) / (2 * a);return x1;
}float xiaoyu(float, float, float)
{return 0;
}int main()
{float a, b, c;cin >> a >> b >> c;float t = b * b - 4 * a * c;float x1, x2;if (t > 0){pair<float, float> result = dayu(a, b, c);cout << fixed << setprecision(3) << "x1=" << result.first;cout << " ";cout << fixed << setprecision(3) << "x2=" << result.second;}else if (t == 0){x1 = x2 = dengyu(a, b, c);cout << fixed << setprecision(3) << "x1=" << x1 << " x2=" << x2;}else{xiaoyu(a, b, c);cout << "此方程无解!";}return 0;
}

 问题点:

目录

①:函数模版

②:函数的重载

③:pair的用法

1)C++中的pair是一个模板类,用于存储两个不同类型的值。它将两个值组合在一起,可以用来表示一个键值对或者简单的有序组。

2)pair 实际上可以看作一个内部有两个元素的结构体,且这两个元素的类型是可以指定的,如下:

3)pair 中只有两个元素,分别是 first 和 second ,只需要按正常结构体的方式去访问即可。 

④:“std::”是什么?


①:函数模版

所谓函数模板,实际上是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表,这个通用函数就称为函数模板。

凡是函数体相同的函数都可以用这个模板来代替,不必定义多个函数,只需在模板中定义一次即可。在调用函数时系统会根据实参的类型来取代模板中的虚拟类型,从而实现不同函数的功能。

#include <iostream>

using namespace std;

template <typename T>          //模板声明,其中的T为类型参数

T max(T a,T b,T c)

{

if(b>a) a=b;

if(c>a) a=c;

return 0;

}

int main( )

{

int i1=1,i2=3,i3=3,i;

double d1=1.1,d2=2.2,d3=3.3,d;

long g1=24324,g2=876775,g3=5465646,g;

i=max(i1,i2,i3);                 //调用模板函数,此时T被int取代

d=max(d1,d2,d3);            //调用模板函数,此时T被double取代

g=max(g1,g2,g3);            //调用模板函数,此时T被long取代

cout<<i<<" "<<d<<" "<<g<<endl;

return 0;

}

定义函数模板的一般形式为:

template <typename T>

通用函数定义

//或

template <class T>

通用函数定义

 template的含义是“模板”,尖括号中先写关键字typename(或class),后面跟一个类型参数T,这个参数实际上是一个虚拟的类型名,表示模板中出现的T是一个类型名,但是现在并未指定它是哪一种具体的类型。

类型参数可以不止一个,可以根据需要确定个数,如:

template <class T1 , typename T2>

用函数模板比函数重载更方便,程序更简洁。但应注意它只适用于函数体相同,函数的参数个数相同而数据类型不同的情况。如果参数个数不同,则不能用函数模板。

②:函数的重载

C++中允许用同一函数名定义多个函数,而这些函数的参数个数和参数类型可以不相同。这就是函数的重载,即对一个函数名重新赋予它新的含义,使一个函数名可以多用。所谓重载,其实就是“一物多用”。 函数可以重载,运算符也可以重载,例如:运算符“<<”和“>>”既可以作为位移运算符,又可以作为输出流中的插入运算符和输入流中的提取运算符。

重载函数的参数个数、参数类型或参数顺序三者必须至少有一种不同,函数返回值类型可以相同也可以不同。

在使用重载函数时,同名函数的功能应当相同或相近,不要用同一函数名去实现完全不相干的功能,虽然程序也能运行,但可读性不好,易使人莫名其妙。

③:pair的用法

1)C++中的pair是一个模板类,用于存储两个不同类型的值。它将两个值组合在一起,可以用来表示一个键值对或者简单的有序组。

要使用 pair,应先添加头文件 #include <utility>,并在头文件下面加上 " using namespace std; " ,然后就可以使用了。

注意:由于 map 的内部实现中涉及 pair,因此添加 map 头文件时会自动添加 utility 头文件,此时如果需要使用 pair ,就不需要额外再去添加 utility 头文件了。

2)pair 实际上可以看作一个内部有两个元素的结构体,且这两个元素的类型是可以指定的,如下:

struct pair
{
    typeName1 first;
    typeName2 second;
}; 

// pair 有两个参数,分别对应 first 和 second 的数据类型,它们可以是任意基本数据类型或容器。
pair<typeName1, typeName2> name;
 
// 想要定义参数为 string 和 int 类型的 pair,如下:
pair<string, int> p;
 
//如果想在定义 pair 时进行初始化,只需要跟上一个小括号,里面填写两个想要初始化的元素即可;
pair<string, int> p("haha",5); 

//如果想要在代码中临时构建一个 pair,有如下两种方法:
 
// (1) 将类型定义写在前面,后面用小括号内两个元素的方式。
pair<string, int>("haha", 5);
 
// (2) 使用自带的 make_pair 函数。
make_pair("haha", 5)  

3)pair 中只有两个元素,分别是 first 和 second ,只需要按正常结构体的方式去访问即可。 
#include <iostream>
#include <utility>
#include <string>
using namespace std;int  main()
{pair<string, int> p;p.first = "haha";p.second = 5;cout << p.first << " " << p.second << endl;p = make_pair("xixi", 55);cout << p.first << " " << p.second << endl;p = pair<string, int>("heihei", 555);cout << p.first << " " << p.second << endl;return 0;
}

 此部分选自C++中pair使用详细说明_c++ pair_想去的远方的博客-CSDN博客

④:“std::”是什么?

std是一个类(输入输出标准),它包括了cin成员和cout成员,声明了“using namespace std;”以后才能使用它的成员。

如果不先声明“using namespace std;”,就需要在cin和cout前面加“std::”,如"std::cin"和"std::cout"。

std是命名空间,你所用到的很多函数或者类都是被放到命名空间里面的,命名空间是防止名字重复而使用的。当你自己定义一个string并把它放到命名空间AAA中的时候,你使用string只要指定是哪个命名空间的,就不会导致编译器分不清是哪个string了。你使用时会用std::string或者AAA::string,前者告诉编译器我用的string是在命名空间std里面的,后者告诉编译器用的string是在命名空间AAA里面的。

"using namespace std;"这样告诉编译器,我没有指定命名空间的,就默认使用std这个命名空间,那么你使用string就不用再加std::作用域了,只需要直接写string就可以了。

此部分选自【C++】C++中“std::“是什么意思?起什么作用?_一拳Marx的博客-CSDN博客

http://www.dinnco.com/news/62069.html

相关文章:

  • 网站首页快照怎么做如何让网站被百度收录
  • 基本的网站建设知识媒介星软文平台
  • 橙子建站仅企业网站制作公司
  • 魔立方 网站建设黄页引流推广链接
  • 白石龙做网站互联网推广方案怎么写
  • 用ps做一份网站排行榜网站
  • 网站域名权百度产品有哪些
  • 东莞网站建设渠道网站运营主要做什么工作
  • 页面设计网站素材专业搜索引擎seo服务商
  • 西安网站设计制作一般多少钱俄国搜索引擎yandex入口
  • 网站建设绩效考评湖南seo推广
  • 体验做愛网站谷歌seo建站
  • 分类信息网站建设方案常用的seo网站优化排名
  • 绵阳住房和城乡建设厅网站跨境电商seo什么意思
  • 永定区建设局网站竞价排名的服务模式是
  • 西安网站建设易网宣如何做营销策划方案
  • 网站建设方案模板竞价托管多少钱一个月
  • 网站备案ip查询系统百度竞价排名是哪种方式
  • php如何做网站中国最新军事新闻最新消息
  • 正规做网站的公司瑞金网络推广
  • wordpress 更新网站免费的舆情网站app
  • 国家标准化建设管理委员会官方网站衡水网站seo
  • 上海闵行官网seo关键词排名优化案例
  • 小米商城网站开发文档百度广告开户
  • wordpress地址不能修改密码深圳seo外包公司
  • 企划做网站合肥百度网站排名优化
  • 学校网站建设计划书百度seo快速排名优化
  • 做网站域名哪里来线上营销的方式
  • 宁波网站建设找哪家好营销方法有哪些
  • 什么是 网站收录地推团队如何收费