g1063496360 发表于 2021-4-7 21:17:06

求助一下

我想不用pow函数 然后就出一个2的3次方等于几 下面是我想的

#include <stdio.h>

void main()
{
        float power(float x,float y);
   float x = 2.0, y = 3.0;
        float a;

        a=power(x,y);
        printf("%f的%f次方是%f",x,y,a);
}

float power(float x,float y)
{
                floatc;
                float b;
                float m;

        if (y==0)
        {
                b=1;
        }
        if (y>0)
        {
                if(y=1)
                {
                        b = x;
                }

       else
               for (m=2;m<=y;m++)
          {
                c= x;
                  b=c*x;                这里有错误 但是要怎么改呀求求大神讲解
          }
        }

       
        return b;
}

wp231957 发表于 2021-4-7 21:49:48

幂不是整数吗,要是小数那就太复杂了
要是正整数的话,没有那么麻烦三五行代码的事

g1063496360 发表于 2021-4-7 21:57:05

wp231957 发表于 2021-4-7 21:49
幂不是整数吗,要是小数那就太复杂了
要是正整数的话,没有那么麻烦三五行代码的事

是整数

g1063496360 发表于 2021-4-7 21:57:37

g1063496360 发表于 2021-4-7 21:57
是整数

但是没想出来啊

wp231957 发表于 2021-4-7 22:02:13

g1063496360 发表于 2021-4-7 21:57
但是没想出来啊

狠简单啊
我没在电脑旁,大致说一下
double   power(a,b)
result=1.0
fori=0   i<b   i++
result*=a
return result

g1063496360 发表于 2021-4-7 22:07:35

wp231957 发表于 2021-4-7 22:02
狠简单啊
我没在电脑旁,大致说一下
double   power(a,b)


result*=a这个啥啥意思啊

LJYUYU 发表于 2021-4-7 22:08:51

g1063496360 发表于 2021-4-7 22:07
result*=a这个啥啥意思啊

result *= a 等同于 result = result * a

g1063496360 发表于 2021-4-7 22:11:12

LJYUYU 发表于 2021-4-7 22:08
result *= a 等同于 result = result * a

c= x;
b=c*x;

这个和我不是一样吗

wp231957 发表于 2021-4-8 06:34:35

g1063496360 发表于 2021-4-7 22:11
c= x;
b=c*x;



咋能一样,你有实现累乘吗
页: [1]
查看完整版本: 求助一下