北京理工大学2000-2012考研计算机复试上机题详尽处理

点赞(0) 反对(0) 本站小编 福瑞考研网 2017-04-25 21:24:21 阅读(0)

    int k=i;
    for(i=0;i<k;i++)
    {
        Int a(n[i]);
        cout<<a.getnum()<<"   "<<a.reverse()<<endl;
    }
}
或者:
#include<iostream>
#include<string>
using namespace std;

class strs
{
private:
    string str1[10];
    string str2[10];
    int n;
public:
    strs()
    {
        for (int i = 0; i < 10; i++)
        {
            str1[i] = "\0";
            str2[i] = "\0";
        }
        n = 0;
    }
    void input()
    {
        string s;
        cin >> s;
        while (s != "0" && n <= 10)
        {
            str1[n] = s;
            str2[n] = s;
            for (int i = 0; i < s.length()/2; i++)
            {
                swap(str2[n][i], str2[n][s.length() - i -1]);
            }
            n++;
            cin >> s;
        }
    }
    ~strs()
    {
        for (int i = 0; i < n; i++)
        {
            cout << str1[i] <<" "<< str2[i] << endl;
        }
    }
};


int main()
{
    {
        strs ss;
        ss.input();
    }
    system("pause");
}
3.写一个CTriangle类,要求可以接受 CTriangle(x,y)形式的构造,创建在坐标系中的直角三角形样子如下
A  
   |\
   |   \
   |      \
   |         \
B ----------C
三点的坐标分别是A(0,y) B(0,0) C(x,0)
实现+运算,并且能够处理键盘连续输入若干个(少于十个)三角形,并且连加(相加时候三角形边长长度相加,方向同第一个三角形)。输入0后结束并输出最后得出的三角形的三个坐标值。例如:
输入:
1    2
-1   -5
0
输出:
A(0,7),B(0,0),C(2,0)

#include<iostream>
using namespace std;
class CTriangle
{
    int y;
    int x;
public:
    CTriangle(int yy=0,int xx=0):y(yy),x(xx){}
    //CTriangle(){}
    void set(int ay=0,int ax=0){y=ay;x=ax;}
    CTriangle operator+ (CTriangle t);
    void display();
};
CTriangle CTriangle::operator + (CTriangle t)
{
    return CTriangle(t.y+y,t.x+x);
}
void CTriangle::display()
{
    cout<<"A"<<"(0,"<<y<<"),B(0,0),C("<<x<<",0)"<<endl;
}
void main()
{
    int y1,x1;
    CTriangle c[10],sum(0,0);
    cout<<"请输入坐标:"<<endl;
    cin>>y1;
    for(int i=0;y1!=0;i++)
    {
        cin>>x1;
        c[i].set(y1,x1);
        cin>>y1;
    }
    int n=i;
    //sum.set();
    for(i=0;i<n;i++)
        sum=sum+c[i];
    sum.display();
}
或者:
#include<iostream>
using namespace std;

class CTriangle
{
private:
    int x, y;
public:
    CTriangle(int xx, int yy): x(xx), y(yy){}
    CTriangle() { x = 0; y = 0; }
    CTriangle operator+(CTriangle a)
    {
        CTriangle b;
        b.x = abs(x) + abs(a.x);
        b.y = abs(y) + abs(a.y);
        if (x < 0)
        {
            b.x = -b.x;
            b.y = -b.y;
        }
        return b;
    }
    void display()
    {
        cout << "A(0, " << y << "), B(0, 0), C(" << x << ", 0)" << endl;
    }
};

int main()
{
    int a, b;
    CTriangle sum;
    cin >> a;
    while (a != 0)
    {
        cin >> b;
        CTriangle c(a, b);
        sum = sum + c;
        cin >> a;
    }
    sum.display();
    system("pause");
}
07年:
1。一个小球,从高为H的地方下落,下落弹地之后弹起高度为下落时的一半,
比如第一次弹起高度为H/2,如此往复,计算从小球H高度下落到第n次弹地
往返的总路程。
要求:1。用递归的方法实现
      2。输入H和n,输出结果
      3。注意程序的健壮性
      4。可以用C或C++实现
#include<iostream>
#include<math.h>
using namespace std;
float fun(int n)
{
    if(n==1)
        return 1;
    else
        return fun(n-1)+1/pow(2,n-2);  //上一次的结果+这一次新加的值
}
void main()
{
    int n;
    float H;
    cout<<"请输入高度H与弹地次数n:";
    cin>>H>>n;
    cout<<"返回的总路程为:";
    cout<<fun(n)*H<<endl;
}
2。创建一个CPoint类,代表平面直角坐标系中的点,创建构造函数和运算符重载函数,
运算符重载为类重载(非友元重载),功能是可以实现计算两个点之间的距离。可以根据需要加入自己的成员变量或成员函数
要求:1。输入两个点的坐标,输出两个点之间的距离
      2。重载运算符为“-”
#include<iostream>
#include<math.h>
//#include<algorithm>
using namespace std;
class CPoint
{
    int x,y;
public:
    CPoint(int xx,int yy){x=xx;y=yy;}
    float operator- (CPoint c);
};
float CPoint::operator- (CPoint c)
{
    return sqrt((x-c.x)*(x-c.x)+(y-c.y)*(y-c.y));
}
void main()
{
    int x1,x2,y1,y2;
    cout<<"请输入第一个点的坐标:";
    cin>>x1>>y1;
    CPoint a(x1,y1);
    cout<<"请输入第二个点的坐标:";
    cin>>x2>>y2;
    CPoint b(x2,y2);
    cout<<"两个点的距离为: "<<a-b<<endl;
}

3。创建一个CTriangle类,需要用到第二题中创建的类,即用3点来代表一个三角形,
输入三个点的坐标,实现判断此三角形是不是直角三角形,并输出此三角形的周长。
可以根据需要加入自己的成员变量或成员函数
要求:1。输入三个点的坐标,输出周长并给出是否直角三角形的信息
      2。注意程序的健壮性
#include<iostream>
#include<math.h>
//#include<algorithm>
using namespace std;
class CPoint
{
    int x,y;
public:
    CPoint(int xx,int yy){x=xx;y=yy;}
    float operator- (CPoint c);
发表评论 已经有0条评论 查看全部评论

关键字

相关信息