精华内容
下载资源
问答
  • MOOC C++ 期末试题

    千次阅读 2018-12-24 17:08:13
    1字典编码 题目内容: 编写程序,给一段文本中的每个单词一个整数编码,输出文本的整数编码序列。要求(1)编码从1开始,按单词出现的先后顺序依次编码;(2)重复单词不重复编码;(3)输出的每个编码占3位,不足...

    1字典编码

    题目内容:

    编写程序,给一段文本中的每个单词一个整数编码,输出文本的整数编码序列。要求(1)编码从1开始,按单词出现的先后顺序依次编码;(2)重复单词不重复编码;(3)输出的每个编码占3位,不足的前面补0。

    输入:一段英文文本,一行,其中只有单词,单词由一个或多个空格分隔末尾可能有多于的空格,文本中没有标点和数字。文本长度不超过1000,单词数不超过300,每个单词的字符个数不超过20,字母均小写。

    输出:整数编码序列。

    样例1输入:

    hello hello how are you

    样例1输出:

    001001002003004

    #include <iostream>
    #include <iomanip>
    #include <string>
    using namespace std;
    int main()
    {
        string s, base[300], code[300];
        getline(cin, s);
        int i = 0, count = 0, start;
        while(i < s.length())
        {
            start = i;
            while(i < s.length() && s[i] != ' ')
            {
                i ++;
            }
            if(i != start)
            {
                base[count ++] = s.substr(start, i - start);
            }
            i ++;
        }
        int countCode = 0, j;
        bool b;
        for(i = 0; i < count; i ++)
        {
            b = false;
            for(j = 0; j < countCode; j ++)
            {
                if(code[j].compare(base[i]) == 0)
                {
                    b = true;
                    break;
                }
            }
            if(b)
            {
                cout<<setw(3)<<setfill('0')<<j + 1;
            }
            else
            {
                code[countCode] = base[i];
                countCode ++;
                cout<<setw(3)<<setfill('0')<<countCode;
            }
        }
        return 0;
    }

     

    2成绩统计

    题目内容:

    输入若干学生的成绩,统计各班的成绩的平均值,并按班级名称的机内码从小到大排序输出。

    学生成绩信息包括:班级,学号和成绩。班级名称是"000"'时表示成绩输入结束。

    班级名称不超过20字符,学号不超过10个字符,成绩为整数,平均成绩为双精度实数,保留三位小数。班级数不超过10个,总人数不超过100个。

     

    输入格式:

    若干行,每行信息包括班级,学号和成绩,用空格隔开,

    最后一行为:000 000 000

     

    输出格式:

    若干行,每行信息包括:班级和平均成绩,中间用一个空格隔开。行数由输入中的班级数确定。

     

    输入样例:

    航天  001 80

    信计  001 90

    航天  002 70

    航天  003 80

    信计  002 91

    000 000 000

     

    输出样例:

    航天 76.667

    信计 90.500

    #include<iostream>
    #include<cstring>
    using namespace std;
    class su{
    	public :
    		string name;
    		string nub;
    		double sum;
    		int nuber;
    		su()
    		{
    		    nuber=0;
    		    sum =0;
    		}
    };
    int main()
    {
    	su *chu=new su[10];
    	string name;
    	string nub;
    	int fenshu;
    	int j = 0, t = 0, i, flag = 0;
    	while(1){
    		flag=0;
    		cin>>name>>nub>>fenshu;
    		if(name=="000")
    		{
    			break;
    		}
    		for(i=0;i<j;i++)
    		{
    			if(name==chu[i].name)    //如果找到,归类
    			{
    			   flag=1;
    			   chu[i].sum+=fenshu;
    			   chu[i].nuber++;	
    			}
    		}
    		if(flag==0)          //如果没找到就创建新的
    		{
    		    chu[j].name=name;
    			chu[j].sum+=fenshu;
    		    chu[j].nuber++;
    		    j++;
    		}
    	} 
    	for(i=0;i<j;i++)  //排序
    	{
    		for(t=0;t<j-i-1;t++)
    		{
    	 	   if(chu[t].name>chu[t+1].name)
    		   {
    			    su tt;
    		    	    tt=chu[t];
                                chu[t] = chu[t+1];
                                chu[t+1]=tt;
    	      	}
    	   }
    	}
    	for(i=0;i<j;i++)
    	{
    		cout<<chu[i].name<<" ";
    		cout.setf(ios::fixed);
    		cout.precision(3);
    		cout<<1.0*chu[i].sum/chu[i].nuber<<endl;
    	}
    	delete []chu;
    	return 0;
    }

    3矩形类

    题目内容:

    定义一个矩形类,数据成员有宽度、高度和组成矩形的字符,类型分别为整型、整型和字符型,成员函数有void set(int,int,char)设置数据成员的值,void show()显示矩形。若宽度为7,高度为4,字符为“*”,则show()显示的矩形如下(四周为*,中间是空格):

    *******

    *     *

    *     *

    *******

    编写主程序,声明矩形类的对象,输入矩形的宽度、高度和组成字符,调用成员函数set()设置矩形参数,调用成员函数show()显示矩形。

     

    输入格式:

    两个正整数和一个字符,用空格隔开。

     

    输出格式:

    由字符组成的空心矩形。

     

    输入样例:

    7 4 *

     

    输出样例:

    *******

    *     *

    *     *

    *******

     

    注意:(1)需考虑一些极端情况,(2)要用类实现。(3)可能由于显示格式的问题,题目页面的矩形会错位。只要按格式要求输出。如对样例来说,第2行,两头是“*”,中间是5个空格。

    #include<iostream>
    using namespace std;
    class Rectangle
    {
        int width,length;
        char a;
    public:
        Rectangle(int width,int length,char a)
        {
            this->width=width;
            this->length=length;
            this->a=a;
        }
        void set(int width,int length,char a)
        {
            this->width=width;
            this->length=length;
            this->a=a;
        }
        void show()
        {
            for(int i=0; i<length; i++)
            {
                if(i==0||i==length-1)
                {
                    for(int j=0; j<width; j++)
                        cout<<a;
                }
                else
                    for(int x=0; x<width; x++)
                        if(x==0||x==width-1)cout<<a;
                        else cout<<" ";
                cout<<endl;
            }
        }
    };
    int main()
    {
        int width,length;
        char a;
        cin>>width>>length>>a;
        Rectangle b(width,length,a);
        b.show();
    }

     

     

    展开全文
  • C++期末试题(一)

    2020-02-26 15:23:55
    买的教材都没到…C++课上看学弟学妹讨论好无聊,先刷题巩固一下叭~ 今天的习题是https://wenku.baidu.com/view/7232fb0f7cd184254b353523.html 虚函数 在基类中声明为 virtual ,在派生类中被重新定义的成员函数 ...

    买的教材都没到…C++课上看学弟学妹讨论好无聊,先刷题巩固一下叭~
    今天的习题是https://wenku.baidu.com/view/7232fb0f7cd184254b353523.html

    虚函数

    在基类中声明为 virtual ,在派生类中被重新定义的成员函数
    (Java中的抽象函数abstract)
    定义一个函数为纯虚函数,才代表函数没有被实现
    实现动态联编,虚函数通过对象指针调用
     

    virtual void funtion1()=0//纯虚函数
    

    包含纯虚函数的类是抽象类,不可以定义对象
    =0 的本质是将指向函数体的指针定为NULL。
    在派生类中必须有重新定义的纯虚函数的函数体,这样的派生类才能用来定义对象


    静态多态+动态多态

    静态多态:函数重载
    动态多态:利用继承+封装,虚函数


    成员函数重载运算符

    下列关于运算符重载的叙述中,正确的是:B
    A. 通过运算符重载可以定义新的运算符
    B. 有的运算符只能作为成员函数重载
    C. 若重载运算符+,则相应的运算符函数名是+
    D. 重载二元运算符时,必须声明两个形参
    

    B. =,[],(),->只能通过成员函数来重载
    C. 重载运算符的函数名是operator+运算符
    D. 重载二元运算符为成员函数时,该函数只有一个形参,另外一个参数则隐含为本对象自身

    在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符,则operator+有___个参数,operator*有___个参数
    //1,2
    

    成员函数重载运算符:第一个参数为调用者
    非成员函数重载运算符:运算数都在参数里

    运算符重载函数可能是类的成员函数,也可以是类的友元函数,还可以是普通函数


    继承protected

    class MyBASE {
    	private:int k;
    	public:
    			void set(int n) {k=n;}
    			int get() const {return k;}}
    class MyDERIVED:protected MyBase {
    	protected :int j;
    	public:
    		void set(int m,int n){MyBASE::set(m);j=n;}
    		int get() const {return MyBASE::get()+j;}}
    

    继承时为protected,则保护整个父类中public部分
    所以MyDERIVED保护的数据成员和成员函数个数为:3(set(int n), get(), int j)


    构造函数的调用顺序

    父类构造函数->对象成员构造函数->子类构造函数
    (析构即反过来)

    class A {public:A()<cout<<"A"}}
    class A {public:B()<cout<<"B"}}
    class C:public A 
    		{B b;
    		public: C(){cout<<"C";}}
    int main()
    {
    C obj;
    return 0;}	
    
    //输出:ABC
    
    展开全文
  • 南昌大学计算机科学与技术专业历年C++期末试卷以及答案
  • 吉林大学c++期末试题

    2009-12-18 16:47:05
    吉林大学2002-2005期末考试题,用于计算机学院
  • 装 订 线 学号 姓名 专业 班级密 封 线 A卷 考试 开卷 使 用 是 共 装 订 线 学号 姓名 专业 班级 密 封 线 课程名称 面向对象程序设计 单位 自动化工程学院 年级 2010级 拟题教师 王刚 B 卷 考查 闭卷 计算器 否 第...
  • 便于加强c++的学习和理解,易于接收,希望好好的利用,期末能有点帮助!
  • 2005级《C++面向对象程序设计》期末考试试题(A卷) 考试时间:2007年1月13日 班级 学号 姓名  本试卷满分100分;  请将答案写在答题纸上,写明题号,不必抄题,字迹工整、清晰;  请在答题纸和试题纸上都...
  • 北邮c++课件期末试题

    2021-01-23 19:38:02
    北邮c++课件期末试题
  • C++期末考试试题

    2013-05-31 14:48:54
    全套c++试题,重点分布完整的期末试题,曲阜师范大学考试试题
  • C++期末考试试题及答案

    热门讨论 2012-06-06 19:05:36
    C++期末考试试题及答案。。各种考试可能遇到的问题,连答案也写好了哦。。
  • 在校大学生,计算机专业
  • C+嘲末考试题及答案总结 清华大学计算机系C++期末试题及答案 一填空题25小题共50分 以下每小题1分共10分 在O+中函数的参数有两种传递方式 它们是值传递和地址或指针或引用传递 当一个成员函数被调用时该成员函数的...
  • 清华大学计算机系C++期末试题及答案2008-01-09 清华大学计算机系C++期末试题及答案
  • 学校C++期末考试试题

    2010-04-12 22:26:35
    期末考试的时候用的,老师给我们的,和大家分享了。希望对即将考C++的人有帮助
  • .C++期末考试试题.doc

    2020-11-05 10:36:08
    . . 单项选择题12题每题5分 已定义了一个类A并有语句 A* pa=new A(5; 那么以下说法正确的是D A. 该语句会创建A类的一个对象,并将此对象的地址赋给指针pa; B.... C. 当指针变量pa超出其作用域时pa和为对象分配的空间都将...
  • 关于 C++ 与 C 语言关系的描述中 D 是错误的 a.C 语言是 C++ 语言的一个子集 b.C 语言与 C++ 语言是兼容的 c.C++ 语言对 C 语言进行了一些改进 d.C++ 语言和 C 语言都是面向对象的 2按照标识符的要求 A 符号不能...
  • C++ 期末考试题 一 填空题 25 小题共 50 分 以下每小题 1 分共 10 分 1 在 C++ 中函数的参数有两种传递方式 它们是值传递和 _ 地址或指针或 引用传递 2 当一个成员函数被调用时该成员函数的 _指向调用它的对象 this ...
  • 清 大学 算机系 C++期末考 及答案 一 填空 25 小 共 50 分 以下每小 1 分共 10 分 1 在 C++中函数的参数有两种 方式它 是 和 地址或指 或引用 2 当一个成 函数被 用 成 函数的 this 指 指向 用它的 象 3在基 和派生 ...
  • 1.关于C++与C语言关系的描述中D是错误的 C语言是C++语言的一个子集 C 语言与 C++ 语言是兼容的 C++语言对C语言进行了一些改进 C++ 语言和 C 语言都是面向对象的 2按照标识符的要求 A 符号不能组成标识符 连接符 b....
  • 多态性在Object Pascal和C++中都是通过虚函数实现的。 2.在string和vector前加“std::”。 3. class A{ public: static int x; }; 输出该类的大小时,答案是1,说明x不占据对象的空间。 而且静态成员变量在对象实例...
  • 很好的一套面向对象程序设计C++期末考试,适合于大学程序设计的各种考试复习

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 163
精华内容 65
关键字:

c++期末试题

c++ 订阅