实验代码及运行结果

实验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、一些基础需要再看看再理解理解,过久没写不熟悉,导致写的很慢。