北理複試上機題2023年

2021-09-12 02:57:11 字數 1986 閱讀 1162

1、給定乙個程式,關於字串的,要求輸入並除錯,說出此程式的意圖。意圖是按字母順序對兩個字串比較排序。第二問要求用盡可能少的語句對該程式進行修改,使其能夠對兩個字串比較長度排序。

參考:c++ sort函式

#include #include#include #include using namespace std;

bool length(string a,string b)

sort(vc.begin(), vc.end(), less());

cout<<"按字元順序排序如下:"<::iterator it=vc.begin();it!=vc.end();it++)

cout<::iterator it=vc.begin();it!=vc.end();it++)

return 0;

}

2、編寫乙個日期類,要求按 ***x-xx-xx 的格式輸出日期,實現加一天的操作,不考慮閏年問題,所有月份設為 30 天。本題黑盒測試時,輸入 2004 年 3 月 20日,得到加一天後時間為 2004-3-21 ,能得一部分分數。輸入 2004 年 3 月 30 日,得到加一天後時間為2004-4-1,能得一部分分數。輸入 2004 年 12 月 30日,得到加一天後時間為 2005-1-1 ,且有時間越界處理,能得全部分數。本題滿分 30。

#include #include #includeusing namespace std;

/*2、編寫乙個日期類,要求按 ***x-xx-xx 的格式輸出日期,實現加一天的操作,不考慮閏年問題,

所有月份設為 30 天。本題黑盒測試時,輸入 2004 年 3 月 20日,得到加一天後時間為 2004-3-21 ,

能得一部分分數。輸入 2004 年 3 月 30 日,得到加一天後時間為2004-4-1,能得一部分分數。

輸入 2004 年 12 月 30日,得到加一天後時間為 2005-1-1 ,且有時間越界處理,能得全部分數。本題滿分 30。

*/class date

vectorplusone();

};vectordate::plusone()else

}else

vectorvc;

vc.push_back(this->m_year);

vc.push_back(this->m_month);

vc.push_back(this->m_day);

return vc;

}int main()

return 0;

}

3.編寫乙個複數類,要求有 4 條。一是有建構函式能對複數初始化。二是對複數 c1 ,c2 ,c3..... 能實現連加運算,令c=c1+c2+c3+..... 此處可以過載加法操作符。三是有函式實現兩個複數相加,並按照 a+ib的形式輸出。四是能實現對乙個複數 c=a+ib,定義 double x=c 有效,使 x 的值為實部和虛部之和。本題滿分 50。

#include #include #includeusing namespace std;

/*3.編寫乙個複數類,要求有 4 條。

一是有建構函式能對複數初始化。

二是對複數 c1 ,c2 ,c3..... 能實現連加運算,令c=c1+c2+c3+..... 此處可以過載加法操作符。

三是有函式實現兩個複數相加,並按照 a+ib的形式輸出。

四是能實現對乙個複數 c=a+ib,定義 double x=c 有效,使 x 的值為實部和虛部之和。

本題滿分 50。

*/class complex

friend complex& operator+(complex &a, complex &b);//雙目友元函式,單目成員函式

void add(complex &a);

double getsum()

void show(){cout

2023年北理複試上機題

2 編寫乙個日期類,要求按 x xx xx 的格式輸出日期,實現加一天的操作,不考慮閏年問題,所有月份設為 30 天。本題黑盒測試時,輸入 2004 年 3 月 20日,得到加一天後時間為 2004 3 21 能得一部分分數。輸入 2004 年 3 月 30 日,得到加一天後時間為2004 4 1,...

2023年北理複試上機題

1 輸入一串整數,輸入指令。要求 1 輸入a t,在這串整數後新增整數t。2 輸入c m n,用n替換m。3 輸入d t,刪除t。4 輸入s排序。include include include include include using namespace std print vectorvi co...

2023年北理複試上機題

這題遇到了很多問題,首先是sscanf 在使用這個時,無論是前面的字串還是後面用來接受的變數,注意都是字元陣列,不要用string,但可以接收後,直接賦值給string。char 型別給string 直接賦值,反之不可,用for i 0 i當結構體型別是 迭代器 it,訪問它內容的時候就不要 直接i...