先谢谢楼上的大哥 但是您的代码好象有问题 你输50 30 40 时的值为-2
int 和long都会溢出的,改成float类型就可以了,下面的是临时改的,有错误的地方,请指正.#include<stdio.h>void main(){ float total=1,day,n; scanf("%f",&n); for(day=n;day>=1;day--) {
total=(total+1)*2; }
printf("\n第一天共计摘桃子 %e 个。\n\n",total);}
main(){ int N,a1,a2,day; printf("please inupt N\n"); scanf("%d",&N); day=N-1; a2=1; while(day>0) { a1=(a2+1)*2; a2=a1; day--; } printf("the total is %d\n",a1);
}