如何利用C++模板技术实现整数或浮点数x的y次方

如题所述

//直接使用模板函数就可以了

#include <iostream>
using namespace std;

template <class T>
T power(T x, int y)
{
T temp = 1;
for(int i=0; i<y; i++)
temp *= x;
return temp;
}

int main()
{
int x, y;
float a;
int b;
cout << "请输入x和y的值:";
cin >> x >> y;
cout << "请输入a和b的值:";
cin >> a >> b;
cout << "整数" << x << "的" << y << "次方是:" << power(x, y) << endl;
cout << "实数" << a << "的" << b << "次方是" << power(a, b) << endl;
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-04-02
#include<iostream>
#include<cmath>
using namespace std;
template<class T>
class A
{

public:
A();
A(T _a,T _b);
T sum();
private:
T a;
T b;
};

template <class T>
A<T>::A()
{
a=0;b=0;
}

template<class T>
A<T>::A(T _a,T _b)
{
a=_a;b=_b;
}
template<class T>
T A<T>::sum()
{
return pow(a,b);
}
void main()
{
A<int> ai(3,4);
A<double> ad(3.1,4.0);
cout<<ai.sum()<<"\n"<<ad.sum()<<endl;
}本回答被提问者采纳

如何利用C++模板技术实现整数或浮点数x的y次方
cout << "整数" << x << "的" << y << "次方是:" << power(x, y) << endl;cout << "实数" << a << "的" << b << "次方是" << power(a, b) << endl;return 0;}

在C++中怎么实现求X的Y次方?
main(){ int x,y,sum;cin>>"input x:">>x>>endl;cin>>"input y:">>y>>endl;for(int n=0;n<=y;n++)sum*=x;cout<<"x^y="<<sum<<endl;} 楼上说的错了!!

visual c++ ,我想求x的y次方,怎么编辑?
调用math.h,用函数pow(x,y)即可。注意这里x和y貌似都是double类型。觉得不方便的话自己写个子函数吧

C++题:用函数求x的y次方。拜托各位了 3Q
include<stdio.h> int mun(int x,int y) { int sum=1; for(int i=0;i<y;i++) { sum*=x; } return sum; } void main() { int a,b; printf("输入两个数"); scanf("%d%d",&a,&b); int m=mun(a,b); printf("%d\\n",m); 如果你对我的回复感到满意,请你选择“...

浮点数在计算机中是如何表示的?
先澄清一个概念,浮点数并不一定等于小数,定点数也并不一定就是整数。所谓浮点数就是小数点在逻辑上是不固定的,而定点数只能表示小数点固定的数值,具用浮点数或定点数表示某哪一种数要看用户赋予了这个数的意义是什么。C++中的浮点数有6种,分别是:float:单精度,32位 unsigned float:单精度无...

C++题:用函数求x的y次方。拜托各位了 3Q
²=5x²-2(6.5+5.9+6.0+6.7+4.5)x+6.5²+5.9²+6.0²+6.7²+4.5²=5x²-59.2x+178.2。配方:y=5x²-59.2x+178.2=5(x-5.92)²+2.968。当x-5.92时,y有最小值。所以大麦卉长的最佳近似长度为5.92 ...

X的Y次方解法
限制到0~10吧.PRINT Z=X^Y,Y=0,i=Y+1,若Y小于10→Y=i+1,再到上面的那步若Y小于10→Y=i+1...到Y=i+1(这时候的i已经到9了,那么9+1=10,输出Z=X*i..这就得到了X的10次幂了 上面的只是说出来的,具体操作还要使用计算机语言,还有严格的格式,好麻烦哦^_^ ...

编写程序输入实数x和正整数y计算x的n次方,不允许调用pow函数求幂_百度知...
void main(){ int y,i;double x,n=1.0;printf("计算x的y次方,请输入x和y:\\n");scanf("%lf %d",&x,&y);\/*注意:C语言输入x时必须含小数点,比如,2.0*\/ for(i=1;i<=y;i++) n*=x;printf("%lf的%d次方是: %f\\n",x,y,n);getchar();} C++语言:include<iostream.h>...

一个c++的题 要求算出x的Y次方 填空
第一空:int i;第二空:i<=y;第三空:return z;

以下函数的功能是:求x的y次方,请填空。
x scanf("%f%d",&x&y) z = fun(x,y)include<stdio.h> double fun(double x, int y) { int i;double z=1;for (i = 0; i<y; i++) { z=z*x;} return z;} void main() { double x,z;int y;scanf("%lf%d", &x, &y);z=fun(x,y);printf("%f", z);} ...

相似回答
大家正在搜