【例】找出100~200间的全部素数。
编写程序如下:
- #include <iostream> #include <cmath>
- #include <iomanip> using namespace std;
- int main( ) {
- int m,k,i,n=0; bool prime;//定义布尔变量prime
- for(m=101;m<=200;m=m+2) //判别m是否为素数,m由101变化到200,增量为2 {
- prime=true;//循环开始时设prime为真,即先认为m为素数 k=int(sqrt(m)); //用k代表根号m的整数部分
- for(i=2;i<=k;i++) //此循环作用是将m被2~根号m除,检查是否能整除 if(m%i==0) //如果能整除,表示m不是素数
- { prime=false; //使prime变为假
- break; //终止执行本循环 }
- if (prime)//如果m为素数 {
- cout<<setw(5)<<m; //输出素数m,字段宽度为5 n=n+1; //n用来累计输出素数的个数
- } if(n%10==0) cout<<endl; //输出10个数后换行
- } cout<<endl;//最后执行一次换行
- return 0; }
【例】译密码
为使电文保密,往往按一定规律将电文转换成密码,收报人再按约定的规律将其译回原文。例如,可以按以下规律将电文变成密码:将字母A变成字母E,a变成e,即变成其后的第4个字母,W变成A,X变成B,Y变成C,Z变成D。见图3.20,字母按上述规律转换,非字母字符不变,如"Wonderful!"转换为"Asrhivjyp!"。
输入一行字符,要求输出其相应的密码。










