栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++语言程序设计第五版 - 郑莉(第三章课后习题)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++语言程序设计第五版 - 郑莉(第三章课后习题)

3-8 编写函数把华氏温度转换为摄氏温度,公式为:C = (F - 32) * 5/9 在主程序中提示用户输入一个华氏温度,转化后输出相应的摄氏温度。

#include
using namespace std;

double CF(double F)  //华氏温度转换为摄氏温度
{
       return 1.0*5/9*(F-32);
}

int main()
{
       double F;
       cout<<"请输入华氏温度:";
       cin>>F;
       cout< 

3-9 编写函数判别一个数是否是一个质数,在主程序中实现输入输出。

#include
#include
using namespace std;

bool isprime(int x)
{
       if(x<=1)  return false;
       for(int i=2;i<=sqrt(x);i++){
              if(x%i==0)
              return false;
       }
       return true;
}

int main()
{
       int x;
       cout<<"请输入一个数:";
       cin>>x;

       if(isprime(x))  cout< 

3-10 编写函数求两个整数的最大公约数和最小公倍数。

#include
#include
using namespace std;


int gcd(int a,int b)   //求最大公约数
{
       int t;
       if(a>x>>y;

       int g=gcd(x,y),l=x*y/g;

       cout< 

3-13 用递归的方法编写函数求Fibonacci级数,公式为Fn = Fn-1+Fn-2(N>2),F1 = F2 = 1,观察递归调用的过程。

#include
using namespace std;

int fib(int n)
{
       if(n==1||n==2)
       return 1;
       else
       return fib(n-1)+fib(n-2);
}

int main()
{
       int n;
       cout<<"请输入一个大于2的整数:";
       cin>>n;
       cout< 

3-14 用递归的方法编写函数求n阶勒让德多项式的值,在主函数中实现输入输出。递归公式为

#include
using namespace std;

float p(int n,int x)
{
       if(n==0)
       return 1;
       else if(n==1)
       return x;
       else
       return ((2*n-1)*x*p(n-1,x)-(n-1)*p(n-2,x))/n;
}

int main()
{
       int n,x;
       cout<<"请输入正整数n、x:";
       cin>>n>>x;
       cout< 

3-15 编写递归函数getPower计算x的平方,在同一个程序中针对整型和实型实现两个重载的函数:

int getPower(int x,int y);           //整型形式,当y<0时,返回0

double getPower(double x,int y);    //实型形式

在主程序中实现输入输出,分别输入一个整数a和一个实数b作为底数,在输入一个整数m作为指数,输出a的m次方和b的m次方。另外请读者思考,如果在调用getPower函数计算a的m次方时希望得到一个实型的结果(实型结果表示范围更大,而且可以准确表示m<0时的结果),该如何调用?

#include
using namespace std;

int getPower(int x,int y)
{
       if(y==0)
       return 1;
       else if(y==1)
       return x;
       else if(y<0)
       return 0;
       else
       return x*getPower(x,y-1);

}

double getPower(double x,int y)
{
       if(y==0)
       return 1;
       else if(y==1)
       return x;
       else if(y<0)
       return 1.0/x*getPower(x,y+1);  //表示负次幂时出现的结果
       else
       return x*getPower(x,y-1);
}

int main()
{
       int a,m;
       double b;

       cout<<"请输入一个整数和一个实数作为底数:";
       cin>>a>>b;

       cout<<"请输入一个整数作为指数:";
       cin>>m;

       cout<<"a^m="<#include
using namespace std;

double trapezoid(int upper,int base,int height)
{
       return (double)(upper+base)*height/2;  //转换为double型数据
}

double trapezoid(double upper,double base,double height)
{
       return (upper+base)*height/2;
}

int main()
{
       int x,y,z;
       double u,b,h;

       cout<<"请输入整型的上底、下底、高:";
       cin>>x>>y>>z;
       cout<<"该梯形面积为:"<>u>>b>>h;
       cout<<"该梯形面积为:"< 

注:第一个trapezoid函数的形参都为int整数型,计算出的梯形面积也会保持int型,故要进行一下类型转换,转为double型,从而符合该函数的返回类型。

本专栏为本人大二C++课程的习题作业和一些学习经验的分享,供大家参考学习。如有侵权请立即与我联系,我将及时处理。


参考书籍为:C++语言程序设计 第五版 -清华大学出版社- 郑莉,董渊、C++语言程序设计 第五版 -清华大学出版社- 郑莉,董渊(学生用书)

编译环境:Visual Studio 2019、Dev-C++
 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1018182.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号