程式設計師面試題精選(40) 一道SPSS筆試題求解

2021-04-13 23:11:54 字數 1613 閱讀 6942

const double max = numeric_limits::max();  //斜率最大值

class point

float getx() const

float gety() const

//為點重新設定座標

void set(float _x,float _y)

//過載 == 成員操作符

bool operator == (point& p)

//過載流插入操作符

friend istream & operator >> (istream& is, point & p)

};class line  //兩點形成一條直線/線段

line(point s,point e):start(s),end(e)

double getk()

};//查詢陣列pp中是否存在點p,是返回陣列序號,否返回-1

int findpoint(point *pp,int size,point &p)

/* p[0].set(0,0);

p[1].set(1,1);

p[2].set(2,0);

p[3].set(1,-1);*/

float left,up,right,down;

//獲取四點x座標最大值和最小值

left = p[0].getx(); //left為四點x座標最小值

right = p[0].getx(); //right為四點x座標最大值

for(i=1;i<4;i++)

//判斷矩形與座標系平**況

point p1(left,up),p2(right,up),p3(right,down),p4(left,down);

if(findpoint(p,4,p1) != -1 && findpoint(p,4,p2) != -1 && findpoint(p,4,p3) != -1 && findpoint(p,4,p4) != -1)

//排序後的四點順時針相連組成矩形邊

line one(*s[0],*s[1]),two(*s[1],*s[2]),three(*s[2],*s[3]),four(*s[3],*s[0]);

cout<<"k1 = "if(one.getk()*two.getk() == -1 || (one.getk() == 0 && two.getk() == max) || (one.getk() == max && two.getk() == 0) )

if(two.getk()*three.getk() == -1 || (two.getk() == 0 && three.getk() == max) || (two.getk() == max && three.getk() == 0) )

if(three.getk()*four.getk() == -1 || (three.getk() == 0 && four.getk() == max) || (three.getk() == max && four.getk() == 0) )

if(four.getk()*one.getk() == -1 || (four.getk() == 0 && one.getk() == max) || (four.getk() == max && one.getk() == 0) )

程式設計師面試題精選

問題描述 輸入乙個字串,列印出該字串中字元的所有排列。例如輸入字串abc,則輸出由字元a b c所能排列出來的所有字串abc acb bac bca cab和cba。問題分析 這是一道很好的考查對遞迴理解的程式設計題。寫遞迴程式關鍵有兩點,處理好進入與返回的關係,進入時改變了什麼,返回時應當恢復。字...

程式設計師面試題精選100題

今天開始各種刷面試題,沉下心來集中時間,全身心投入 題目 輸入一棵二元查詢樹,將該二元查詢樹轉換成乙個排序的雙向鍊錶。要求不能建立任何新的結點,只調整指標的指向。比如將二元查詢樹 10 6 14 4 8 12 16 轉換成雙向鍊錶 4 6 8 10 12 14 16。相關概念 二元查詢樹 它首先要是...

一道面試題

一道面試題 射擊運動員10發打中90環有多少種可能,請編寫程式計算出來,並列印出結果,0環和10環均有效。打中90環就是沒打中10環,所以打中90環跟打中10環的可能性是一樣的。然後開始遞迴狂打槍,一到10就記錄 if params i 10 在迴圈的控制中已經排除了大於10的可能性 i 10 pa...