2-28
第一问:
#include <iostream>
using namespace std;int main(){ char a; cout<<"Menu:A(dd)D(elect) S(ort).Select one:"<<endl; cin>>a; while (a!='Q') { if (a=='A') { cout<<"数据已经增加"<<endl; } if (a=='D') { cout<<"数据已经删除"<<endl; } if (a=='S') { cout<<"数据已经排列"<<endl; }} cin>>a; } return 0;}运行结果截图
第二问:
#include <iostream>
using namespace std;int main(){ char a; cout<<"Menu:A(dd)D(elect) S(ort).Select one:"<<endl; cin>>a; while (a!='Q') { switch(a) { case'A': { cout<<"数据已经增加"<<endl;break; } case'D': { cout<<"数据已经删除"<<endl;break; } case'S': { cout<<"数据已经排序"<<endl;break; } cin>>a; } return 0; }运行结果截图
2-29
使用while
#include <iostream>
using namespace std;int main(){ int i,j,m,n; i=2; while (i<=100) { m=1,n=i/2;j=2; while (j<=n) { if(i%j==0) {m=0;break;} j++; } if(m) cout<<i<<" "; i++; }return 0;}运行结果截图
使用do.....while
#includeusing namespace std;int main(){int a,b,c,d;a=2;do{c=1;d=a/2;b=2;while (b<=d){if(a%b==0){c=0;break;}b++;}if(c)cout< <<" ";a++;}while(a<=100);return 0;}
运行结果截图
使用for循环语句
#include <iostream>
using namespace std;void main(){ int a,b,c,d; for(a=2;a<=100;a++) { c=1;d=a/2; for(b=2;b<=d;b++) { if(a%b==0) { c=0; break; } } if (c) cout<<i<<" "; }}运行结果截图
2-32
用while 语句
#include <iostream>
using namespace std;int main(){ int a=10; int n; while (1) { cout<<"请输入一个数字:"<<endl; cin>>n; if (a==n) {cout<<"答对了"<<endl; break; } else if(a<n) { cout<<"数据偏大。"<<endl; } else if(a>n) { cout<<"数据偏小。"<<endl; } } return 0;}运行结果截图
使用do...while
#include <iostream>
using namespace std;int main(){ int a=10; int n; cout<<"请输入一个数字:"<<endl; cin>>n; do { if(n!=a) { if(n<a) { cout<<"偏小"<<endl; } else { cout<<"偏大"<<endl; } } else { cout<<"答对了"<<endl;break; } cin>>n; } while(1);return 0;}运行结果截图
2-34
#include <iostream>
using namespace std;
int main(){ enum color{red,yellow,blue,white,black};//申明枚举类型 color pri;//定义变量 int i,j,k,n=0,loop; for(i=red;i<=black;i++) { for(j=red;j<=black;j++) { if(i!=j) { for(k=red;k<=black;k++)//前两个球颜色不同才看第三个 { if(k!=i&&k!=j)//三球颜色都不同 { n=n+1;//种类增加 cout<<setw(3)<<n; for(loop=1;loop<=3;loop++) { switch(loop) { case 1:pri=color(i);break; case 2:pri=color(j);break; case 3:pri=color(k);break; default:break; } switch(pri) { case red:cout<<setw(8)<<"red";break; case yellow:cout<<setw(8)<<"yellow";break; case blue:cout<<setw(8)<<"blue";break; case white:cout<<setw(8)<<"white";break; case black:cout<<setw(8)<<"black";break; default :break; } } cout<<endl; } } } } } cout<<"total:"<<n<<endl; return 0;}运行结果截图
感悟:
每一种题目不单单只有一种解法,像这几题都可以运用whie或do..while语句,结束一个循环应该注意break所摆放的位置,否则容易造成死循环。研究数据较小时可以使用枚举法,但是数据较大时则需要分类处理。