实验总结
1.实现程序的重复运行可以用while循环实现
2.程序中有多个判断语句时switch语句比if else更简洁。
3.不同的函数在不同的语言中所属的函数库不同,例如sqrt函数。
实验过程
2-28实现一个简单的菜单程序,运行时显示“Menu:”A(dd) D(elete) S(ort) Q(uit),Select one:“提示用户输入,A表示增加,D表示删除,S表示排序,Q表示退出。输入A、D、S时分别提示”数据已经增加、删除、排序。“输入Q时程序结束。
if else版
#include<iostream> using namespace std; int main() { cout<<"Menu:A(dd) D(elete) S(ort) Q(uit),Select one:"; char a; cin>>a; while(a!='Q') { if(a=='A') { cout<<"Data has added"<<endl; cin>>a; cout<<"Menu:A(dd) D(elete) S(ort) Q(uit),Select one:"<<a<<endl; } else if(a=='D') { cout<<"Data has deleted"<<endl; cin>>a; cout<<"Menu:A(dd) D(elete) S(ort) Q(uit),Select one:"<<a<<endl; } else if(a=='S') { cout<<"Data has Sorted"<<endl; cin>>a; cout<<"Menu:A(dd) D(elete) S(ort) Q(uit),Select one:"<<a<<endl; } else { cout<<"no such chioce,please select again"<<endl; cin>>a; cout<<"Menu:A(dd) D(elete) S(ort) Q(uit),Select one:"<<a<<endl; } } return 0; }
运行截图
switch版
#include<iostream> using namespace std; int main() { cout<<"Menu:A(dd) D(elete) S(ort) Q(uit),Select one:"; char a; cin>>a; while(a!='Q') { switch(a) { case 'A': { cout<<"Data has added"<<endl; }break; case 'D': { cout<<"Data has deleted"<<endl; }break; case 'S': { cout<<"Data has Sorted"<<endl; }break; default: { cout<<"no such chioce,please select again"<<endl; }break; } cin>>a; cout<<"Menu:A(dd) D(elete) S(ort) Q(uit),Select one:"<<a<<endl; } return 0; }
运行截图
2-32在程序中定义一个整型变量,赋予1-100的值。要求用户猜这个数,比较两个数的大小,把结果提示给用户,直到猜对为止。
while版
#include<iostream> using namespace std; int main() { int number=79; int guessnumber; cout<<"your guess number is:"; cin>>guessnumber; while(guessnumber!=number) { if(guessnumber>number) { cout<<"bigger than the number"<<endl; cin>>guessnumber; cout<<"your guess number is:"<<guessnumber<<endl; } else if(guessnumber<number) { cout<<"lower than the number"<<endl; cin>>guessnumber; cout<<"your guess number is:"<<guessnumber<<endl; } } cout<<"congratulations.you guess it"; return 0; }
运行截图
do while版
#include<iostream> using namespace std; int main() { int number=79; int guessnumber; cout<<"your guess number is:"; cin>>guessnumber; do { if(guessnumber>number) { cout<<"bigger than the number"<<endl; cin>>guessnumber; cout<<"your guess number is:"<<guessnumber<<endl; } else if(guessnumber<number) { cout<<"lower than the number"<<endl; cin>>guessnumber; cout<<"your guess number is:"<<guessnumber<<endl; } }while(guessnumber!=number); cout<<"congratulations.you guess it"; return 0; }
运行截图
2-34口袋中有红、黄、白、蓝、黑五种颜色的球若干个。每次从口袋中取出三个不同颜色的球,问有多少种取法
#include<iostream> using namespace std; int main() { int a,b; cin>>a>>b; int m=1,n=1; for(int j=1;j<=b;j++) { m=m*a; a--; } for(int i=1;i<=b;i++) { n=n*i; } cout<<m/n<<endl; return 0; }
运行截图
2-29 用穷举法找出1-100间的质数并显示出来。
while版
#include<iostream> using namespace std; int main() { int i=1; while(i<=100) { int j; for(j=2;j<=i;j++) { if(i%j==0) break; } if(i==j) cout<<i<<endl; i++; } return 0; }
运行截图
do while 版
#include<iostream> using namespace std; int main() { int i=1; do { int j; for(j=2;j<=i;j++) { if(i%j==0) break; } if(i==j) cout<<i<<endl; i++; } while(i<=100) ; return 0; }
For 版
#include<iostream> using namespace std; int main() { int i; for(i=1;i<=100;i++) { int j; for(j=2;j<=i;j++) { if(i%j==0) break; } if(i==j) cout<<i<<endl; } return 0; }