c++中if(a[i]%2) j+=a[i];和if(a[i]%2==0) continue;分别是什么意思?

第一个:{int a[8]={3,2,8,9,10,6,21,5},i=0,s=0;
while(i++<7)
if(a[i]%2) s+=a[i];cout<<s<<endl;}
第二个:
{int i,count=0,sum=0;
double average;
int a[]={11,12,13,14,15,16,17,18,19,20};
for(i=0;i<=10;i++)
sum+=a[i[;
conut++;
}
average=sum/conut;
cout<<"count="<<count<<'\t'<<"average="<<average<<endl;
}
上面分别是两个程序的!
打错一个字母:j+=a[i];改为s+=a[i];
第一个
if(a[i]%2) s+=a[i]
这句话的意思是,若a[i]不能被2整亏迟除,则s=s+a[i]
%号的意思是取敏空册余
所以第一题最后s=9+21+5
对于题目中所说的if(a[i]%2==0) continue
意思就是若能被2整除,则继续执行循环
第二个
作用是加和然后求平均数
for(i=0;i<=10;i++)
sum+=a[i];
conut++;
}
这段桥宏代码是将a[i]的所有值取和
然后average=sum/conut用于求平均值

两个代码的最后一句都是打印的作用
if语句懂吧?如果条件真,怎执行下一句,否则执行if外的语句。a[i]%2是对2取模运算,如果a[i]是偶数,怎结果为0,就埋毕碧不执行数腊if后面的语句j+=a[i];也就是只有a[i]是奇数时才弯举执行该句。
if(a[i]%2==0) continue;跟上面的正好相反,当a[i]是偶数才执行 continue。即跳到最近的循环。
if(a[i]%2) j+=a[i];分析:
if(a[i]%2):如果a[i]除2余数不等于0, 则执行j+=a[i];(就等于j =j+a[i])

if(a[i]%2==0) continue;这个在程序中没看到呀,只能凭空说下了:

if(a[i]%2==0):如果a[i]除以2的大世拦余数滚胡为0, 则不再执返判行循环语句中这之后的语句, 继续下一次的循环...
倒是要问问LZ是什么意尺尺桥思……问的问题不清不楚……
if(a[i]%2) j+=a[i];意思是如果a[i]为奇数就执陵猛行下面的语句
if(a[i]%2==0) continue;意思是如果a[i]为偶数就困神跳过这次循环,继续下一个循环