C++条件及循环语句的综合运用实例

2020-01-06 13:36:53王振洲

【例】找出100~200间的全部素数。

编写程序如下:

 

 
  1. #include <iostream>  #include <cmath> 
  2. #include <iomanip>  using namespace std; 
  3. int main( )  { 
  4. int m,k,i,n=0;  bool prime;//定义布尔变量prime 
  5. for(m=101;m<=200;m=m+2) //判别m是否为素数,m由101变化到200,增量为2  { 
  6. prime=true;//循环开始时设prime为真,即先认为m为素数  k=int(sqrt(m)); //用k代表根号m的整数部分 
  7. for(i=2;i<=k;i++) //此循环作用是将m被2~根号m除,检查是否能整除  if(m%i==0) //如果能整除,表示m不是素数 
  8. {  prime=false; //使prime变为假 
  9. break; //终止执行本循环  } 
  10. if (prime)//如果m为素数  { 
  11. cout<<setw(5)<<m; //输出素数m,字段宽度为5  n=n+1; //n用来累计输出素数的个数 
  12. }  if(n%10==0) cout<<endl; //输出10个数后换行 
  13. }  cout<<endl;//最后执行一次换行 
  14. return 0;  } 

【例】译密码

为使电文保密,往往按一定规律将电文转换成密码,收报人再按约定的规律将其译回原文。例如,可以按以下规律将电文变成密码:将字母A变成字母E,a变成e,即变成其后的第4个字母,W变成A,X变成B,Y变成C,Z变成D。见图3.20,字母按上述规律转换,非字母字符不变,如"Wonderful!"转换为"Asrhivjyp!"。

输入一行字符,要求输出其相应的密码。