实验代码及运行结果
实验2-28
if else 语句
#include<iostream> using namespace std; int main() { while(true) { char m; cout<<"Menu:A(dd) D(elete) S(ort) Q(uit),Select one:"<<endl; cin>>m; if(m=='A') { cout<<"data has been Added"<<endl; continue; } else if(m=='D') { cout<<"data has been Deleted"<<endl; continue; } else if(m=='S') { cout<<"data has been sorted"<<endl; continue; } else if(m=='Q') break; else cout<<"No such choice"<<endl; } return 0; }
switch语句
#include<iostream> using namespace std; int main() { while(true) { char m; cout<<"Menu:A(dd) D(elete) S(ort) Q(uit),Select one:"<<endl; cin>>m; switch(m) { case 'A': cout<<"data has been Added"<<endl;continue; case 'D': cout<<"data has been Deleted"<<endl;continue; case 'S': cout<<"data has been sorted"<<endl;continue; case 'Q': break; default: cout<<"No such choice"<<endl;continue; } break; } return 0; }
2-29
while语句
#include<iostream> #include<iomanip> using namespace std; int main() { int i=1,j,num=0; while(++i<=100) { j=2; while(j<i) { if(i%j==0) break; else j++; } if(i==j) { cout<<setw(5)<<i<<ends; num++; if(num%5==0) cout<<"\n"<<ends; } } return 0; }
do while
#include<iostream> #include<iomanip> using namespace std; int main() { int i=1,j,num=0; do { j=2; while(j<i) { if(i%j==0) break; else j++; } if(i==j) { cout<<setw(5)<<i<<ends; num++; if(num%5==0) cout<<"\n"<<ends; } }while(++i<=100); return 0; }
for
#include<iostream> #include<iomanip> using namespace std; int main() { int i,j,num=0; for(i=2;i<=100;i++) { for(j=2;j<i;j++) { if(i%j==0) break; } if(i==j) { cout<<setw(5)<<i<<ends; num++; if(num%5==0) cout<<"\n"<<ends; } } return 0; }
2-32
while
#include<iostream> using namespace std; int main() { int i=80,j; cout<<"Please guess a numer from 1 to 100"<<endl; while(1) { cin>>j; if(j>i) { cout<<"The number is smaller than your number"<<endl; continue; } if(j<i) { cout<<"The number is bigger than your number"<<endl; continue; } if(j==i) { cout<<"Congratulations!"<<endl; break; } } return 0; }
do while
#include<iostream> using namespace std; int main() { int i=80,j; cout<<"Please guess a numer from 1 to 100"<<endl; do { cin>>j; if(j>i) { cout<<"The number is smaller than your number"<<endl; continue; } if(j<i) { cout<<"The number is bigger than your number"<<endl; continue; } if(j==i) { cout<<"Congratulations!"<<endl; break; } } while (1); return 0; }
2-34 多少种取法
#include<iostream> using namespace std; int jc(int); int main() { int i, n,c; cin >> n; i = 3; c = jc(n) / (jc(i) * jc(n - i)); cout << c << endl; return 0; } int jc(int m) { int p=1,k; for (k=1; k<=m;k++) { p = p * k; } return p; }
输入共有5种球,从中取3个,得出共有10种可能。
穷举法求取法
#include<iostream> #include<iomanip> using namespace std; void pd(int); int main() { int a,b,c,count = 0; for (a = 1; a <=5;a++) { for (b = 1; b <= 5;b++) { for (c = 1; c <= 5;c++) { if(a!=b&&a!=c&&b!=c) { ++count; cout << count << ends; pd(a); pd(b); pd(c); cout << endl; } } } } return 0; } void pd(int x) { switch(x) { case 1: cout << setw(5)<<"Red" << ends; break; case 2: cout << setw(5)<<"Yellow" << ends; break; case 3: cout << setw(5) << "Blue" << ends; break; case 4: cout << setw(5) << "White" << ends; break; case 5: cout << setw(5) << "Black" << ends; break; } }
结果太长,截一小段
实验总结和体会
1、c和c++两者有相同也有不同,需多练习体会。
2、一些基础需要再看看再理解理解,过久没写不熟悉,导致写的很慢。