使用while循环时,C程序在整数计数为150时不退出的问题

我想知道我是否能得到一些帮助来解决我遇到的问题

基本上,当人数达到150时,我尝试使用while循环来结束我的程序

我的数学似乎是对的,但出于某种原因,当人数达到276时,程序就结束了

有人能帮忙解决这个问题吗?谢谢

代码输入:

intmain(){
//声明变量
整数周=0,人=5;
lt;150人{
周++;
人员=(人员周)*2;
printf(“在第%d周,拉布努德教授的社交媒体组有%d人\n”周,人);
} 
//结束程序
返回0;
}

代码输出:

第一周,拉布努德教授的社交媒体小组有8人
第二周,拉布努德教授的社交媒体小组有12人
第三周,拉布努德教授的社交媒体小组有18人
在第4周,拉布努德教授的社交媒体小组有28人
第五周,拉布努德教授的社交媒体小组有46人
第六周,拉布努德教授的社交媒体小组有80人
在第7周,拉布努德教授的社交媒体小组有146人
在第8周,拉布努德教授的社交媒体小组有276人

intmain(){
//声明变量
整数周=0,人=5;
而(150人){
周++;
人员=(人员周)*2;
printf(“在第%d周,拉布努德教授的社交媒体组有%d人\n”周,人);
} 
//结束程序
返回0;
}

如您所见,当week==7时,people==146因为146<150,循环再次执行。首先,它增加了,所以现在周==8,然后,它计算了(146-8)*2==276,因此people现在是276,然后它执行printf()语句。只是现在,276<150false,则循环终止

因为我们知道什么时候week==1那么people==8我们可以这样做:

intmain(){
//声明变量
整数周=1,人=8;
而(150人){
printf(“在第%d周,拉布努德教授的社交媒体组有%d人\n”周,人);
周++;
人员=(人员周)*2;
} 
//结束程序
返回0;
}

发表评论