2-28
实现一个简单的菜单程序,运行时显示"Menu: A(dd) D(elete) S(ort) Q(uit), Select one:"提示用户输入,A 表示增加,D 表示删除, S 表示排序,Q 表示退出,输入为 A、 D、S 时分别提示"数据已经增加、删除、排序。"输入为 Q 时程序结束。
(1)if else
#include<iostream> using namespace std; int main() { char n; while(1) { cout<<"Menu:A(dd) D(elete) S(ort) Q(uit),Select one:"; cin>>n; if(n=='A') cout<<"数据已经增加\n"; else if(n=='D') cout<<"数据已经删除\n"; else if(n=='S') cout<<"数据已经排序\n"; else if(n=='Q') cout<<"程序结束\n"; else cout<<"Error!\n"; } return 0; }
运行结果截图:
(2)switch
#include <iostream> using namespace std; int main() { char n; while(1) { cout<<"Menu:A(dd) D(elete) S(ort) Q(uit),Select one:"; cin>>n; switch(n) {case 'A':cout<<"数据已经增加\n";break; case 'D':cout<<"数据已经删除\n";break; case 'S':cout<<"数据已经排序\n";break; case 'Q':cout<<"程序结束\n";break; default :cout<<"错误!\n";break; } } return 0; }
运行结果截图:
2-29
用穷举法找出 1~100 间的质数并显示出来。分别使用 while,do-while,for 循环语 句实现。
(1)while
#include<iostream> using namespace std; int main() { int i,n=1,flag; while(n<=100) { flag=1; for(i=2;i<=n-1;i=i+1) { if(n%i==0) { flag=0; break; } } if(flag==1) cout<<n<<endl; n=n+1; } return 0; }
运行结果截图:
(2)do while
#include<iostream> using namespace std; int main() { int i,n=1,flag; do { flag=1; for(i=2;i<=n-1;i=i+1) { if(n%i==0) { flag=0; break; } } if(flag==1) cout<<n<<endl; n=n+1; }while(n<=100); return 0; }
运行结果截图:
(3)for
#include<iostream> using namespace std; int main() { int i,n,flag; for(n=1;n<=100;n++) { flag=1; for(i=2;i<=n-1;i=i+1) { if(n%i==0) { flag=0; break; } } if(flag==1) cout<<n<<endl; } return 0; }
运行结果截图:
2-32
在程序中定义一个整型变量,赋以 1~100 的值,要求用户猜这个数,比较两个数的大 小,把结果提示给用户,直到猜对为止。分别使用while,do…while语句实现循环。
(1)while
#include<iostream> using namespace std; int main() { int n=40,i; while(1) {cin>>i; if(i==n) cout<<"Right!\n"; else if(i<n) cout<<"The number is little!\n"; else if(i>n) cout<<"The number is big!\n"; } return 0; }
运行结果截图:
(2)do while
#include<iostream> using namespace std; int main() { int n=40,i; do {cin>>i; if(i==n) cout<<"Right!\n"; else if(i<n) cout<<"The number is little!\n"; else if(i>n) cout<<"The number is big!\n"; } while(1); return 0; }
运行结果截图:
2-34
口袋里有红、黄、蓝、白、黑5种颜色的球若干个。每次从口袋里取出3个不同颜色的球,问有多少种取法?
#include<iostream> using namespace std; int main() { int a=5,b=5,c=5,d=5,e=5,n=0; for(a=1;a<=5;a++) { for(b=1;b<=5;b++) { for(c=1;c<=5;c++) n=n+1; } } n=n*5; cout<<n; return 0; }
运行结果截图:
实验结论:
while,do…while,for循环语句可以运用在很多程序中,解决繁琐问题,不止这几个循环语句,要多多了解其他的程序。