課程
/后端開發(fā)
/C
/C語言入門
不能被3整除的數(shù)應(yīng)該是i%3!=0 ?怎么會(huì)是i%3=0 這不是剛好相反
2019-07-25
源自:C語言入門 4-15
正在回答
我明白你說的意思,因?yàn)檫@里用到了continue,?是把能整除的輸已經(jīng)剔除掉了。剩下的就是不能整除的
日過用你那樣的想法腳本就應(yīng)該是這樣:? 你可以看下,這樣可以達(dá)到同樣的效果,因?yàn)檫@個(gè)課時(shí)是學(xué)的continue,所以是這樣寫的。
#include <stdio.h>
int main()
{
? ? int i, sum;
? ? for(i=1, sum=0; i<=20; i++)
? ? {
? ? ? ? if(? ? ?i%3!=0? ? )? ? //能被3整除這個(gè)條件如何寫呢?
? ? ? ? {
? ? ? ? ? ?? sum+=i;
? ? ? ? }? ? ? ? ? ? ? ? ??
? ? }
? ?printf("sum=%d", sum);
? ? return 0;? ??
}
continue的意思是先跳出,就是i%3==0的時(shí)候停止,不進(jìn)行sum += i,然后下一次再繼續(xù)。
比如i=2時(shí),2%3==0為假,不執(zhí)行continue,執(zhí)行sum+=i,現(xiàn)在sum=3,這次循環(huán)結(jié)束,下一次循環(huán),這時(shí)i=3,3%3==0為真,就會(huì)執(zhí)行continue跳出,不會(huì)執(zhí)行sum+=i,因此能被3整除的數(shù)字就不會(huì)被包含進(jìn)求和運(yùn)算里,i=4時(shí),(這點(diǎn)就是和break不同的地方,每次break之后都會(huì)重新賦值,比如上個(gè)練習(xí)for(n=2;m>n;n++){if(m%n==0){ break;}}意味著只要滿足m%n==0,發(fā)生break之后,下一次開始這個(gè)for循環(huán)的時(shí)候n都會(huì)重新賦值為初始值2,但是continue的話就會(huì)接著上次運(yùn)算剩下的值繼續(xù)進(jìn)行,不會(huì)重新賦值),4%3==0為假,不執(zhí)行continue,sum=7.
所以這里并不是為了識(shí)別不能被三整除的數(shù),而是要識(shí)別能被三整除的數(shù)并及時(shí)跳出防止它們加到sum上。
題目沒有錯(cuò),自己想一下,大家都是新手#include<stdio.h>int main(){ int i,sum; for(i=1,sum=0;i<=20;i++) { if(i%3==0) { continue; } sum += i; } printf(“sum=%d\n”, sum) return 0;}
循環(huán)是要滿足條件才能循環(huán),您說是不是整除的循環(huán),不整除的跳出?
舉報(bào)
C語言入門視頻教程,帶你進(jìn)入編程世界的必修課-C語言
4 回答數(shù)組這里題目是不是錯(cuò)了?教錯(cuò)了還是打錯(cuò)了?
3 回答是不是網(wǎng)頁出問題了。。。我的老是錯(cuò)誤
2 回答慕課是不是出問題了?
2 回答題目是不是有問題
1 回答題目是不是不清楚
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2019-08-22
我明白你說的意思,因?yàn)檫@里用到了continue,?是把能整除的輸已經(jīng)剔除掉了。剩下的就是不能整除的
日過用你那樣的想法腳本就應(yīng)該是這樣:? 你可以看下,這樣可以達(dá)到同樣的效果,因?yàn)檫@個(gè)課時(shí)是學(xué)的continue,所以是這樣寫的。
#include <stdio.h>
int main()
{
? ? int i, sum;
? ? for(i=1, sum=0; i<=20; i++)
? ? {
? ? ? ? if(? ? ?i%3!=0? ? )? ? //能被3整除這個(gè)條件如何寫呢?
? ? ? ? {
? ? ? ? ? ?? sum+=i;
? ? ? ? }? ? ? ? ? ? ? ? ??
? ? }
? ?printf("sum=%d", sum);
? ? return 0;? ??
}
2022-02-06
continue的意思是先跳出,就是i%3==0的時(shí)候停止,不進(jìn)行sum += i,然后下一次再繼續(xù)。
比如i=2時(shí),2%3==0為假,不執(zhí)行continue,執(zhí)行sum+=i,現(xiàn)在sum=3,這次循環(huán)結(jié)束,下一次循環(huán),這時(shí)i=3,3%3==0為真,就會(huì)執(zhí)行continue跳出,不會(huì)執(zhí)行sum+=i,因此能被3整除的數(shù)字就不會(huì)被包含進(jìn)求和運(yùn)算里,i=4時(shí),(這點(diǎn)就是和break不同的地方,每次break之后都會(huì)重新賦值,比如上個(gè)練習(xí)for(n=2;m>n;n++){if(m%n==0){ break;}}意味著只要滿足m%n==0,發(fā)生break之后,下一次開始這個(gè)for循環(huán)的時(shí)候n都會(huì)重新賦值為初始值2,但是continue的話就會(huì)接著上次運(yùn)算剩下的值繼續(xù)進(jìn)行,不會(huì)重新賦值),4%3==0為假,不執(zhí)行continue,sum=7.
所以這里并不是為了識(shí)別不能被三整除的數(shù),而是要識(shí)別能被三整除的數(shù)并及時(shí)跳出防止它們加到sum上。
2019-08-02
題目沒有錯(cuò),自己想一下,大家都是新手
#include<stdio.h>
int main()
{
int i,sum;
for(i=1,sum=0;i<=20;i++)
{
if(i%3==0)
{
continue;
}
sum += i;
}
printf(“sum=%d\n”, sum)
return 0;
}
2019-07-25
循環(huán)是要滿足條件才能循環(huán),您說是不是整除的循環(huán),不整除的跳出?