美文网首页
BIT-CS-2007年复试机试

BIT-CS-2007年复试机试

作者: 小白之白小明 | 来源:发表于2019-02-27 11:56 被阅读0次

1、一个小球,从高为H的地方下落,下落弹地之后弹起高度为下落时的一半,比如第一次弹起高度为H/2,如此反复,计算从小球H高度下落到n次弹地往返的总路程。
要求:(1)用递归的方法实现。(2)输入H和n,输出结果。(3)注意程序的健壮性。(4)可以用C/C++实现。

#include<iostream>
#include<cmath>
using namespace std;
double high(int n,double h) {   //从下落到第n次弹起的总路程
    if (n == 1)
        return h+h/2;
    else
        return high(n - 1, h) + h / pow(2, n) + h / pow(2, n - 1);
}
int main()
{
    int h, n;
    cin >> h >> n;
    cout<<high(n, h);
    system("pause");
    return 0;
} 

2、(易)创建一个CPoint类,代表平面直角坐标系中的点,创建构造函数和运算符重载函数,运算符重载为类重载(非友元重载),可以实现计算两个点之间的距离。可以根据需要加入自己的成员变量或成员函数。
要求:(1)输入两个点的坐标,输出两个点之间的距离。(2)重载运算符为“-”。

#include<iostream>
#include<cmath>
using namespace std;
class cpiont {
private:
    double x, y;
public:
    cpiont() {}
    cpiont(double i, double j) :x(i), y(j) {}
    double operator -(cpiont a) {
        return sqrt(pow(a.x-x,2)+pow(a.y-y,2));
    }
};
int main()
{
    int a, b, c, d;
    cin >> a >> b >> c >> d;
    cpiont x(a, b), y(c, d);
    cout << x - y;
    system("pause");
    return 0;
} 

3、创建一个CTriangle类,需要用到第二题中创建的类,即用3点来代表一个三角形,输入三个点的坐标,实现判断此三角形是不是直角三角形,并输出此三角形的周长。可以根据需要加入自己的成员变量或成员函数。
要求:(1)输入三个点的坐标,输出周长并给出是否是直角三角形的信息。(2)注意程序的健壮性。

#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
class cpiont {
private:
    double x, y;
public:
    cpiont() {}
    cpiont(double i, double j) :x(i), y(j) {}
    double operator -(cpiont a) {
        return sqrt(pow(a.x-x,2)+pow(a.y-y,2));
    }
};
int main()
{
    double a, b;
    cin >> a >> b;
    cpiont c(a, b);
    cin >> a >> b;
    cpiont d(a, b);
    cin >> a >> b;
    cpiont e(a, b);
    double s[3];
    s[0] = c - d;
    s[1] = c - e;
    s[2] = d - e;
    sort(s, s + 3);
    if (pow(s[0], 2) + pow(s[1], 2) == pow(s[2], 2))
        cout << "是直角三角形";
    else
        cout << "不是直角三角形";
    system("pause");
    return 0;
} 

4、请自定义一个Student类,属性包括,Char name[10],int num。编程实现学生信息的输入、查询、浏览,其中浏览分为:升序和降序两种

#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
class stu {
private:
    string name;
    int num;
public:
    stu(string i, int j) :name(i), num(j) {}
    int shownum() {
        return num;
    }
    string showname() {
        return name;
    }
};
bool keya(stu a, stu b) {
    return (a.shownum() < b.shownum());
}
bool keyb(stu a, stu b) {
    return (a.shownum() > b.shownum());
}
int main() {
    vector<stu> sd;
    string a;
    int i,key,n;
    while (cin >> a >> i) {
        if (a == "0")
            break;
        stu s(a, i);
        sd.push_back(s);
    }
    cout << "请输入要查询学生的学号,以0 0结束" << endl;
    while (cin >> n) {
        if (n == 0)
            break;
        for (int i = 0; i < sd.size(); i++) {
            if (sd[i].shownum() == n)
                cout << sd[i].showname() << endl;
        }
    }
    cout << "请输入所需要的功能:1.按学号升序浏览;2.按学号降序浏览。" << endl;
    while (cin >> key) {
        if (key == 1) {
            sort(sd.begin(), sd.end(), keya);
            for (int i = 0; i < sd.size(); i++)
                cout << sd[i].shownum() << "  " << sd[i].showname() << endl;
        }
        else if (key == 2) {
            sort(sd.begin(), sd.end(), keyb);
            for (int i = 0; i < sd.size(); i++)
                cout << sd[i].shownum() << "  " << sd[i].showname() << endl;
        }
        else
            break;
    }
    system("pause");
    return 0;
}

相关文章

  • BIT-CS-2007年复试机试

    1、一个小球,从高为H的地方下落,下落弹地之后弹起高度为下落时的一半,比如第一次弹起高度为H/2,如此反复,计算从...

  • BIT-CS-2000年复试机试

    1、输入任意 4 个字符(如:abcd),并按反序输出(如:dcba)。 2、设 a、b、c 均是 0 到 9 之...

  • BIT-CS-2002年复试机试(A)

    1、某人有 8 角的邮票 5 张,1 元的邮票 4 张,1元 8 角的邮票 6 张,用这些邮票中的一张或若干张可以...

  • BIT-CS-2004年复试机试

    1、建立一个角类,在这个类中重载减号运算符,并实现求出角度的正弦值的函数。

  • BIT-CS-2005年复试机试

    1、给定一个程序,关于字符串的,要求输入并调试,说出此程序的意图。意图是按字母顺序对两个字符串比较排序。第二问要求...

  • BIT-CS-2001年复试机试(B)

    1、请输入高度 h,输出一个高为 h,上底边长为 h的等腰梯形(例如 h=4,图形如下)。 2、请编写一个程序,从...

  • BIT-CS-2002年复试机试(B)

    1、打印所有不超过 n(n<256)的,其平方具有对称性质的数。如 11*11=121。 2、编写一个求菲波那奇数...

  • 试新 感受科技的力量

    华为Mate 9试机照 华为Mate 9试机照 Mate 9试机照 华为Mate 9试机照 华为Mate 9试机照...

  • BIT-CS-2001年复试机试(A)(约瑟夫环链表法)

    1、编写程序,计算下列分段函数 y=f(x)的值。 y= -x+2.5,0<= x <2 y=2-1.5(x-3)...

  • BIT-CS-2006年复试机试(class&vecto

    1、写一个程序判断字符串中数字的位置(不限制使用面向对象编程)例如:输入 a3b4c5,输出 2 4 6 。 2、...

网友评论

      本文标题:BIT-CS-2007年复试机试

      本文链接:https://www.haomeiwen.com/subject/cjmvsqtx.html