int a=1,q=2,n=0,sum=0;do{sum+=a;++n;a*=8;}while(sum<100);n-=1;printf("%d\n",n);return 0; 假设等比数列的第一项a=1,公比q=2,求满足前n项和小于100的最大n。为什么n-=1?... 假设等比数列的第一项a=1,公比q=2,求满足前n项和小于100的最大n。为什么n-=1? 展开 我来答 1个回答 #热议# 为什么说不要把裤子提到肚脐眼? shine1991 科技发烧友 2021-04-25 · 智能家居/数码/手机/智能家电产品都懂点 知道顶级答主 回答量:4.7万 采纳率:82% 帮助的人:2.3亿 我也去答题访问个人页 关注 展开全部 因为要求的是 "满足前n项和小于100的最大n"而退出循环的条件是sum>=100,所以n需要-1,才能得到要求的"满足前n项和小于100的最大n" 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询 其他类似问题 2021-01-15 int a=1; printf("%d, %d, %d\n", a, ++a, a++);结果是 3 2023-03-29 若有int+a=0,则语句printf("%d\n",a++)结果为? 2023-04-02 int n,i,js,os;printf("请输入一个正整数n: ");scanf("%d", 第 2023-04-02 int n,i,js,os;printf("请输入一个正整数n: ");scanf("%d", 第 2018-03-01 main(){int a[]={2,4,6,8,10};int y=1,x,*p;p=&a[1];for(x=0;x<3;x++)y+=*(p+x);printf("%d\n",y)} 96 2020-02-06 有以下程序: main( ) { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p-2; printf("%d\n",*p+*q); } 6 2011-12-01 main() {int x=4,y=0,z; x*=3+2;printf("%d",x); x*=y==(z=4);printf("%d",x); } 22 2010-10-08 1,main ( ) {int i, s=0; for (i=1; i<10; i+=2) s+=i+1; printf (〃%d\n〃, s); } 7 更多类似问题 > 为你推荐: