緑盟科学技術夏休み実習筆記試験
3640 ワード
今日の午後、緑盟科学技術の実習生の筆記試験に参加しました.C++が開発しました.筆記試験に参加する人は多くありません.20人ぐらいいます.筆記試験のC++は少ないです.ほとんどは筆記試験の安全エンジニアです.今日の筆記試験の問題は広いです.緑盟は主に安全製品を作っているからかもしれません.したがって,筆記試験問題ではネットワークとオペレーティングシステムに関する問題が比較的重い割合を占めている.C++一部の問題は難しくなく、オペレーティングシステムやネットワークの問題の難易度もまあまあですが、脆弱性スキャンの問題で、難しいです.の
ネット問題は主にネット層と応用層の基礎知識と応用を試験する.オペレーティングシステムの主なオペレーティングプロセスの同期に関する問題.
C++は主にC++言語の基礎を考察し、ポインタ配列、配列ポインタ、関数ポインタおよびポインタ関数などを含む.基礎データ構造とアルゴリズム問題はチェーンテーブル、スタック、キュー、検索とソートなどの内容を含む.
C++にプログラミング問題があり、配列の循環シフトの問題であり、長さMの配列の循環右シフトNビット、すなわち1,2,3,4,5,6,7,8、例えば循環右シフト3ビットの後:6,7,8,1,2,3,4,5
私はこう答えました.
ネット問題は主にネット層と応用層の基礎知識と応用を試験する.オペレーティングシステムの主なオペレーティングプロセスの同期に関する問題.
C++は主にC++言語の基礎を考察し、ポインタ配列、配列ポインタ、関数ポインタおよびポインタ関数などを含む.基礎データ構造とアルゴリズム問題はチェーンテーブル、スタック、キュー、検索とソートなどの内容を含む.
C++にプログラミング問題があり、配列の循環シフトの問題であり、長さMの配列の循環右シフトNビット、すなわち1,2,3,4,5,6,7,8、例えば循環右シフト3ビットの後:6,7,8,1,2,3,4,5
私はこう答えました.
#include <iostream>
using namespace std;
void swap(int &a,int &b)
{
int tmp =a;
a= b;
b = tmp;
}
void reverse(int a[],int begin,int end)
{
for(int i=0;i <(end-begin)/2;i++)
{
swap(a[i+begin],a[end-i-1]);
}
}
void shift(int a[],int M,int N)
{
reverse(a,0,M-N);
reverse(a,M-N,M);
reverse(a,0,M);
}
int _tmain(int argc, _TCHAR* argv[])
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
shift(a,10,2);
for(int i =0;i< 10;i++)
cout << a[i] <<",";
cin.get();
return 0;
}