zoukankan      html  css  js  c++  java
  • 实验二

    一.验证性实验

    1 .函数声明

    函数的声明是对函数调用的准备,是告诉编译器存在这么一个函数,这个函数会在后面提到,这样在便编译过程中编译器就会自动向下寻找函数。

    2 .函数定义

    函数定义是告知函数的类型,如果把函数的声明比作告知编译器有这么一个函数,那函数的定义就是说有一个什么样的函数,相当于提前写出该函数。

    3 .函数的调用

    函数的调用即将一个写好的函数带入到main函数中,执行所需的功能。

    4 .形参,实参,返回值及其做用

    形参可以理解为编译函数时赋予的参数,是而实参和它的字面意思一样,是在函数中实际存在的值,实际调用函数时传递给的形参,返回值就是函数运行后所得的参数。

    就好像函数z=x+y,x,y就是形参,4=1+3中的1和3就是实参
    

    5.值传递和引用传递的区别

    值传递是将实参的内容复制一份赋予形参,函数结束时对原本的实参没有影响,而引用传递是说实参和形参等价,对形参的影响等价于对实参的影响。

    习题2-28

    #include<iostream>
    #include<iostream>
    using namespace std;
    int main()
    {
        char A,D,S,Q,m;
        cout<<"Menu A(DD) D(elete) S(ort) Q(uit),Select ont:"<<endl;
        cin>>m;
        if(m!='Q')
        {
        if(m=='A')
        {
            cout<<"数据已增加";
        }
        else if(m=='D')
        {
            cout<<"数据已删除";
        }
        else if(m=='S')
        {
            cout<<"数据已排序";
        }
        }
        else
        {
            break;
        }
        return 0;
    }
    #include<iostream>
    using namespace std;
    int main()
    {
        char A,S,D,Q,m;
        cout<<"Menu A(DD) D(elete) S(ort) Q(uit),Select ont:";
        cin>>m;
        switch(m)
        {
            case 'A':
                cout<<"数据已添加"<<endl;
                break;
            case 'S':
                cout<<"数据已排序"<<endl;
                break;
            case 'D':
                cout<<"数据已删除"<<endl;
                break;
            case 'Q':
                return 0;
                break;
        }
        return 0;
     } 

    结果如图

    习题2-29

    for形式

    #include<iostream>
    using namespace std;
    int main()
    {
        int m,n;
        for(m=3;m<100;m++)
        {
            for(n=2;n<m;n++)
            {if(m%n==0)
            {
                break;
            }
            if(n==(m-1))
            {
                cout<<m<<"是质数"<<endl;
            }
            }
        }
        return 0;
    }

    while形式

    #include<iostream>
    using namespace std;
    int main()
    {
        int m,n;
        for(m=3;m<100;m++)
        {
            for(n=2;n<m;n++)
            {if(m%n==0)
            {
                break;
            }
            if(n==(m-1))
            {
                cout<<m<<"是质数"<<endl;
            }
            }
        }
        return 0;
    }
    #include<iostream>
    using namespace std;
    int main()
    {
        int m=3,n;
        while(m<100)
        {
            for(n=2;n<m;n++)
            {
                if(m%n==0)
            {
                break;
            }
            if(n==(m-1))
            {
                cout<<m<<"是质数"<<endl;
            }
            }
            m++;
        }
        return 0;
    }

    do while 形式

    #include<iostream>
    using namespace std;
    int main()
    {
        int m=3,n;
        do
        {
            for(n=2;n<m;n++)
            {
                if(m%n==0)
            {
                break;
            }
            if(n==(m-1))
            {
                cout<<m<<"是质数"<<endl;
            }
            }
            m++;
        }while(m<100);
        return 0;
    }

     习题2-32

    while形式

    int main()
    {
        int m,n,x;
        unsigned seed;
        srand((unsigned int) seed);                               //调用时间函数传送不同的seed值
        x = 1 + rand() % 100;                                        //生成每次不同的随机数
        cout<<"请输入种子数"<<endl;
        cin>>seed;
        srand(seed);
        while(rand()<1&&rand()>100);
        {
            srand(seed);
            seed++;
        }
        cout<<"请输入猜测值"<<endl;
        cin>>n;
        while(n!=m)
        {
            if(n>m)
            {
                cout<<"n大于m"<<endl;
                cin>>n;
                continue;
            }
            else if(n<m)
            {
                cout<<"n小于m"<<endl;
                cin>>n;
                continue;
            }        
        }
        return 0;    
    }

    do while形式

    #include<iostream>
    #include<cstdlib>
    using namespace std;
    int main()
    {
        int m,n,x;
        unsigned seed;
        srand((unsigned int) seed);    
        x = 1 + rand() % 100;     
        cout<<"请输入种子数"<<endl;
        cin>>seed;
        srand(seed);
        while(rand()<1&&rand()>100);
        {
            srand(seed);
            seed++;
        }
        cout<<"请输入猜测值"<<endl;
        cin>>n;
        do
        {
            if(n>m)
            {
                cout<<"n大于m"<<endl;
                cin>>n;
                continue;
            }
            else if(n<m)
            {
                cout<<"n小于m"<<endl;
                cin>>n;
                continue;
            }        
        }while(n!=m);
        return 0;    
    }

     习题2-34

    #include <iostream>
    using namespace std;       
    enum color{Red,Yellow,Blue,White,Black};     
    
    int main()
    {
        int i, j, k, n = 0;         
        for (i = Red; i<=Black; i++)
            for (j = i + 1; j<=Black; j++)
                for (k = j + 1; k <=Black; k++)
                {
                    if (i != j && j != k && k != i)   
                        cout << i << " " << j << " " << k<<endl;
                    n++;
                }
        cout << n << endl;
        return 0;
    }

     这道题有点像数学里的排列组合问题,我将袋子中的球设为一个枚举类型,将所有的可能列举出来,便得出答案。

    实验总结与体会

    只有在编程的过程中自己发现问题,水平才能提高。我在编程的过程中遇到了许多不懂的,不会的地方,要自己去翻书,去百度,去问同学才得到解决,虽然很麻烦,但是看着自己写出的简单的小程序,还是挺有成就感的。

  • 相关阅读:
    C#开发ActiveX可行性研究 简单飞扬
    有几件事情 简单飞扬
    1 简单飞扬
    宁静 会一直存在么 简单飞扬
    java 项目中遇到的错误 简单飞扬
    开发线程安全的Spring Web应用(转) 简单飞扬
    p2p网站即时通信 简单飞扬
    游戏外挂原理和技术分析(关于魔力宝贝) 简单飞扬
    关于java使用javacomm20win32实践总结 (转) 简单飞扬
    Java 串口编程 简单飞扬
  • 原文地址:https://www.cnblogs.com/spring-winds/p/8646330.html
Copyright © 2011-2022 走看看