小猴子摘下一些桃子,卖掉一半,又吃了一只;第二天卖掉剩下的一半,又吃了一只;第三天、第四天、第五天都如此办理,第六天一看,发现就剩下一只桃子了,求小猴子共摘了多少只桃子。

#include

int main() {
int i, x;
for (i = 1; i <= 5; +)
x = x / 2 - 1;
x = (+ 1) * 2;
x / 2 - 1 == ;
printf("小猴子摘了桃子%d只", x);
}
哪里错了呀

逆向思考来写循环

而不是像你这样,解方程


#include <stdio.h>
 
int main(){
    int N, peach = 1;
    
    do{
        scanf("%d", &N);
    }while( N<=1 || N>10 ); // 确保N的范围
    
    for( int i=N; i>1; i-- ){
        peach = (peach + 1) * 2;
    }
    
    printf("%d", peach);
    
    return 0;
}


#include<stdio.h>
void main()
{
    int i,s=1,y=0;
    for(i=1;i<6;i++)//因为到第六天还剩一个,所以循环5次
    {
        s=(s+1)*2;//倒序求出每天的数量
        y+=s;

    }
    printf("猴子摘了%d个桃子\n", y);
}


逻辑自己捋一下吧

#include <stdio.h>

int main() 
{
    int i, x = 1;
    for (i = 1; i <= 5; i++)
    {
        x = (x + 1) * 2;
    }

    printf("小猴子摘了桃子%d只", x);
}

很经典的问题,我也记录过。可以从后往前推,先用数学式子表示一下,然后转换成程序语言就可以