小腥腥 发表于 2020-11-21 22:46:56

自己声明定义pow函数,大神看一下那不对?

#include<stdio.h>
int main()

{
        double power(double x,double y);
        double a,b,c;
        scanf("%lf,%lf",&a,&b);
        c=power(a,b);
        printf("%lf\n",c);
       
       
}
double power(double x,double y)
{
        int i;
        double r,z;
        r=x;
        for(i==0;i<=y;i++)
        {
               
                z=r*x;
                r=z;
               
               
        }
        return r;
       
       
       
}

风过无痕1989 发表于 2020-11-21 22:49:58

本帖最后由 风过无痕1989 于 2020-11-21 22:58 编辑

for(i==0;i<=y;i++) 改为
for(i=1;i<y;i++)

小腥腥 发表于 2020-11-21 23:14:00

谢啦

jackz007 发表于 2020-11-22 00:05:01

本帖最后由 jackz007 于 2020-11-22 01:22 编辑

      指数为 0 的时候,结果应该是 1。
#include<stdio.h>

double power(double x , int y)
{
      int i                                    ;
      double r                                 ;
      for(r = 1.0 , i = 0 ; i < y ; i ++) r *= x ;
      return r                                 ;
}

int main(void)
{
      double a , c                               ;
      int b                                    ;
      scanf("%lf%d" , & a , & b)               ;
      c = power(a , b)                           ;
      printf("%lf\n" , power(a , b))             ;
}
      编译、运行实况
D:\00.Excise\C>g++ -o x x.c

D:\00.Excise\C>x
9 0
1.000000

D:\00.Excise\C>x
9 3
729.000000

D:\00.Excise\C>

mqan 发表于 2020-11-22 11:19:38

主函数中x,y未定义,power函数中int型数据i与double数据y比较,尽量同类型吧

mqan 发表于 2020-11-22 11:22:15

好吧,是函数声明

风过无痕1989 发表于 2020-11-24 22:48:04

小腥腥 发表于 2020-11-21 23:14
谢啦

满意了,就选为最佳答案吧

暖心law 发表于 2020-11-26 21:03:39

请问如果是 -1 次方怎么办

风过无痕1989 发表于 2020-11-28 16:47:36

本帖最后由 风过无痕1989 于 2020-11-28 19:45 编辑

暖心law 发表于 2020-11-26 21:03
请问如果是 -1 次方怎么办

除呀:x 的 -1 次方 = 1 / x
页: [1]
查看完整版本: 自己声明定义pow函数,大神看一下那不对?