suseike 2022-05-15 23:17 采纳率: 37.5%
浏览 81
已结题

编写函数int sum_max(int sum),以及long exp(int a,int b)求满足以下条件的最大的n值 2^1+2^2+…+2^n<sum

可以看一下这个代码哪里错了吗,运行一直没结果

#include<stdio.h>
long exp(int a,int b)
{
int t;
t=a*exp(a,b);
return(t);

}
int sum_max(int sum)
{
int n=0,s=0;
do {
s+=exp(2,n);
n++;
} while(s<=sum);
return (n-1);
}
void main()
{
int k;
printf("input k=");
scanf("%d",&k);
printf("%d",sum_max(k));
}

  • 写回答

2条回答 默认 最新

  • qzjhjxj 2022-05-16 00:10
    关注

    修改处见注释,供参考:

    #include<stdio.h>
    long exp(int a,int b)
    {
        int t;
        if(b == 0)   //修改
            return 1;
        else         //修改
            t=a*exp(a,b-1);//修改
        return(t);
    
    }
    int sum_max(int sum)
    {
        int n=0,s=0;
        do {
            n++;         //修改
            s+=exp(2,n);
        } while(s < sum);//修改
        return (n-1);
    }
    void main()
    {
        int k;
        printf("input k=");
        scanf("%d",&k);
        printf("%d",sum_max(k));
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月25日
  • 已采纳回答 5月17日
  • 创建了问题 5月15日

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集