只需循环累乘即可。
#include
double pow(double x, int n)
{
if (n==0) // 为零则为 1
return 1;
double num = 1;
while (n--) // 循环累乘
num *= x;
return num;
}
int main()
{
printf("%d^%d = %lf\n", 2, 8, pow(2, 8));
printf("%d^%d = %lf\n", 5, 3, pow(5, 3));
return 0;
}
int pww(int
w,int
g)
{
int
s=0;
return
s=w^g;
}
int
main()
{
int
w,g;
printf("请输入您要求的底数")
scanf("%d",&w);
printf("请输入您要求的底数的次方数");
scanf("%d",&g);
printf("结果:",pww(w,g));
return
0;
}
没有编译器,随手写的,自己修改一下··
你是按照
2,2
输入的么
否则读数据会出现错误
而结果输出0
1、缺少# include
2、根据你写的scanf
那么在输入数据时应该
输入 2,3\n 才可以 得到 8
建议scanf中一定不要加 \n
呵呵
#include
#include
int main()
{
double x,y,b;
scanf ("%lf,%lf",&x,&y);
b=pow(x,y);
printf ("%.2lf\n",b);
return 0;
}
pow函数返回的是double型数