zoukankan      html  css  js  c++  java
  • 程序设计实习MOOC / 程序设计与算法(三)第一周测验

    作业题:

       7. 填空(2分)简单的swap 通过码是 ( 请参考公告中的“关于编程作业的说明”完成编程作业(请注意,编程题都要求提交通过码,在openjudge上提交了程序并且通过以后,就可以下载到通过码。)

      总时间限制: 1000ms     内存限制: 65536kB    

           描述 :填空,使得程序    输出结果是:5,3

    #include <iostream>
    using namespace std;
    class A
    {
    	public:
    	int x;
    	int getX() { return x; }	
    };
    void swap(
    // 在此处补充你的代码
    )
    {
    	int  tmp = a.x;
    	a.x = b.x;
    	b.x = tmp;
    }
    int main()
    {
    	A a,b;
    	a.x = 3;
    	b.x = 5;
    	swap(a,b);
    	cout << a.getX() << "," << b.getX();
    	return 0;
    }
    

      输入无    输出5,3

      答案:

    #include <iostream>
    using namespace std;
    class A
    {
    	public:
    	int x;
    	int getX() { return x; }	
    };
    void swap( A & a, A & b) //考察定义到类型的问题 
    {
    	int  tmp = a.x;
    	a.x = b.x;
    	b.x = tmp;
    }
    int main()
    {
    	A a,b;
    	a.x = 3;
    	b.x = 5;
    	swap(a,b);
    	cout << a.getX() << "," << b.getX();
    	return 0;
    }
    填空(2分) 难一点的swap

      填空,使得程序输出结果是:5,3

    #include <iostream>
    using namespace std;
    
    void swap(
    // 在此处补充你的代码
    )
    {
    	int * tmp = a;
    	a = b;
    	b = tmp;
    }
    int main()
    {
    	int a = 3,b = 5;
    	int * pa = & a;
    	int * pb = & b;
    	swap(pa,pb);
    	cout << *pa << "," << * pb;
    	return 0;
    }
    

     答案:

    #include <iostream>
    using namespace std;
    
    void swap(int *& a,int *& b)
    {
    	int * tmp = a;
    	a = b;
    	b = tmp;
    }
    int main()
    {
    	int a = 3,b = 5;
    	int * pa = & a;
    	int * pb = & b;
    	swap(pa,pb);
    	cout << *pa << "," << * pb;
    	return 0;
    }
    
    填空(2分) 好怪异的返回值
     填空,使得程序输出指定结果
    #include <iostream>
    using namespace std;
    // 在此处补充你的代码
    getElement(int * a, int i)
    {
    	return a[i];
    }
    int main()
    {
    	int a[] = {1,2,3};
    	getElement(a,1) = 10;
    	cout << a[1] ;
    	return 0;
    }
    

      输入 无  输出  10

    答案:

    #include <iostream>
    using namespace std;
    int & getElement(int * a, int i)
    {
    	return a[i];
    }
    int main()
    {
    	int a[] = {1,2,3};
    	getElement(a,1) = 10;
    	cout << a[1] ;
    	return 0;
    }
    
    10 填空(2分) 神秘的数组初始化
    #include <iostream>
    using namespace std;
    
    int main()
    {
    	int * a[] = {
    // 在此处补充你的代码
    };
    	
    	*a[2] = 123;
    	a[3][5] = 456;
    	if(! a[0] ) {
    		cout << * a[2] << "," << a[3][5];
    	}
    	return 0;
    }
    

      输入 无  输出  123,456

    答案:

    #include <iostream>
    using namespace std;
    
    int main()
    {
    	int * a[] = {0,0,new int[1],new int[1]};
    	
    	*a[2] = 123;
    	a[3][5] = 456;
    	if(! a[0] ) {
    		cout << * a[2] << "," << a[3][5];
    	}
    	return 0;
    }
    

      

      


      

  • 相关阅读:
    Java实现 LeetCode 432 全 O(1) 的数据结构
    Java实现 LeetCode 432 全 O(1) 的数据结构
    Makefile 自动生成依赖
    比较详细的利用虚拟机对SD卡FAT32+EXT4+Ext4分区图解教程
    STM32F0308开发环境的选择--CooCox CoIDE篇
    linux下包管理命令yum与apt-get以及开发环境配置
    裸机编程与OS环境编程的有关思考
    Eclipse C/C++环境配置
    Linux Eclipse代码提示功能设置(Java & C/C++)
    Linux下高效编写Shell——shell特殊字符汇总
  • 原文地址:https://www.cnblogs.com/songqingbo/p/8635863.html
Copyright © 2011-2022 走看看