鱼C论坛

 找回密码
 立即注册
查看: 3716|回复: 7

这题 怎么走啊,我看不明白啊,

[复制链接]
发表于 2021-6-10 21:08:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
/* POW.C
*
*/

#include <stdio.h>

double power( double x, double y );

void main( void )
{
      double x = 3.0, y = 3.0, z;
      
      z = power( x, y );
      
      printf( "%.1f to the power of %.1f is %.1f\n", x, y, z );
}

double power( double x, double y )
{
      double z = x;

      while( --y )
      {
            z *= x;
      }

      return z;
}

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-10 21:14:04 | 显示全部楼层
哪里不明白,多看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-10 21:22:32 | 显示全部楼层
double power( double x, double y )
{
       double z = x;

       while( --y )
       {
             z *= x;
       }

       return z;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-10 21:23:09 | 显示全部楼层
double power( double x, double y )
{
       double z = x;

       while( --y )
       {
             z *= x;
       }

       return z;
}
这个不明白,应该怎么走,能加我QQ指点一下吗。910992696
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-11 15:24:01 | 显示全部楼层
while里面的判定式应该是boolean类型的,你这是double类型,这会报错的;
这是你想表达的意思吗?(如果是你需要把--y 改成 --y > 0 )
函数有两个参数,x和y,在函数内x的值被赋值给了z,而y作为了控制次数的控制符,--y表示的先减一在判断,而y--表示的先判断再减一,while循环中是进行运算z = z * x,最后把z的值返回。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-11 15:46:43 | 显示全部楼层
什么怎么走
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-11 21:46:50 | 显示全部楼层
我带进去走 走着走着就乱了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-12 13:49:25 | 显示全部楼层
#include <stdio.h>
double power( double x, double y )
{
   double z = x;

   while( --y )
   // 先执行一次用y = y - 1
   // 传进来的值等于3.0
   // 所以while循环执行两次
   {
           // 进入循环
                z *= x;
                // z = z * x;
                // (1) z = 3.0 * 3.0
                // (2) z = 9.0 * 3.0
   }
        // 退出循环 z = 27.0
   return z;
}

int main()
{

        double x = 3.0, y = 3.0, z;

        z = power( x, y );
        // 用一个变量保存power的返回值

        printf( "%.1f to the power of %.1f is %.1f\n", x, y, z );

}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-21 14:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表