continue和break,如何判断该用哪一个。。。。。。。。。。。。。。。
break是直接跳出循环体,而continue是跳过循环体中余下的语句继续执行循环。函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS10.DAT中。
替代关系:f(p)=p*11 mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。
void encryptChar()
{
int i,j,t;
for(i=0;i<maxline;i++)
{
for(j=0;j<strlen(xx[i]);j++)
{
t=xx[i][j]*11%256;
if(t<=32 || xx[i][j]%2==0) continue;
xx[i][j]=t;
}
}
}
请编写一个函数jsValue(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组xx传回。
最后调用函数writeDat()读取10组数据,分别得出结果且把结果输出到文件out.dat中。
例如:若输入17,5,则应输出:19,23,29,31,37。
void jsvalue(int m,int k,int xx[])
{
int i,j,s=0;
for(i=m+1;k>0;i++)
{for(j=2;j<i;j++)
if(i%j==0) break; /*注:素数为只能被自己和1整除的数.如果i%j等于0,说明i不是素数,跳出本层循环*/
if(i==j)
{xx[s++]=i;k--;}
}
}
求正整数的个数totNum
{
int i,data;
for(i=0;i<MAXNUM;i++)
{
if(!xx[i])
continue; /*如果当前数为0,则结束本次循环,取下一个数*/
if(xx[i]>0)
totNum++; /*统计正整数的个数*/
data=xx[i]>>1; /*将数右移一位*/
if (data%2==0) /*如果右移1位后,产生的新数是偶数*/
{
totCnt++;
totPjz+=xx[i];
} /*统计这些数的个数,并将满足条件的原数求和*/
}
totPjz/=totCnt; /*求满足条件的这些数(右移前的值)的算术平均值*/
}