请教编程题

来源:百度知道 编辑:UC知道 时间:2024/09/23 22:34:23
请用C++语言编写
(2) (必做,20分)调用系统函数pow(x ,y)计算xy的值,注意使用头文件cmath。
(3) (必做,30分)用递归的方法编写函数求12+22+32+…+n2的和。
(4) (选做,20分)把用户从键盘输入的正整数(10进制)转换为2~16进制内任意进制(基数)的数。
3. 实验步骤
(1) 分别编写4个同名函数Avg,实现函数重载,在main()函数中提示并使用cin语句接收2个、3个整数和单精度数的值,调用Avg函数计算,将返回的结果显示出来。
(2) 在main()函数中提示输入2个整数x、y,使用cin 语句接收x、y的值,调用pow(x ,y)函数计算x的y 次幂的结果,并显示出来。
(3) 编写递归函数int Sum(int n),在main()中输入n的值,调用Sum函数计算n的平方和,将将返回的结果显示出来。
(4) 编写一个程序执行把用户从键盘输入的正整数(10进制)转换为2~16进制内任意进制(基数)的数并显示。把程序分为读取数和要转换的基数(get_number_and_base())、转换数字(convert_number( ))和显示转换后的数字(display_converted_number( ))等三个函数以及主函数。函数get_number_and_base( )分别提示用户输入要转换的数和按照何数制转换(即基数)。对于小于2和大于16的基数认为非法并让用户重新输入。convert_number( ) 函数按照教材P8介绍的原理,设定被转换数number_to_convert(传来的参数), 基数base(传来的参数),基数的幂指数index和转换结果result(定义为数组)。可以参考编写为:
result[index]= number_to_convert%base;
index++;
number_to_convert/=base;
的结构。并以number_to_convert是否为0作为循环终止的控制条件。

第一题:
#include <iostream>
#include <math.h>
using namespace std;

void main()
{
int x, y;
cout<<"Please enter two integers"<<endl;
cout<<"the first one is: ";
cin>>x;
cout<<"the first one is: ";
cin>>y;
cout<<"the result is: "<<pow(x,y)<<endl;
}

第二题:
#include <iostream>
using namespace std;

int Sum(int n)
{
if(n==1)
return 1;
else
return Sum(n-1)+n*n;
}

void main()
{
int b;
cout<<"Enter an integer: ";
cin>>b;
cout<<"The result is: "<<Sum(b)<<endl;
}

在线讨论,加分再做