經典筆試題123

2021-07-12 04:48:22 字數 1774 閱讀 4182

1.實現對乙個8bit位資料(unsigned char 型別)的指定位(例如第n位)的置0或置1操作,並保持其他位不變。

函式原型:

void bit_set(unsigned char *p_data,unsigned char position,int flag)
函式引數說明:p_data是指定的原資料,position是指定位(取值範圍為1~8),flag表示是置0還是置1.

舉例說明一下,比如數字15,q它的二進位制序列為0000 1111

**實現:

#define _crt_secure_no_warnings 1

#include#include#includevoid bit_set(unsigned char *p_data,unsigned char position,int flag)

else if(flag==0)//置0操作

else }

int main()

2.將乙個字串迴圈右移n位

函式原型:

void rightloopmove(char *pstr,unsigned short steps)
下面用常用的兩種方法實現

**實現:

#define _crt_secure_no_warnings 1

#include#include#include#include//void reverse(char *left,char *right)//翻轉函式

//// reverse(pstr,pstr+len-1-steps);

// reverse(pstr+len-steps,pstr+len-1);

// reverse(pstr,pstr+len-1);

//}void rightloopmove(char *pstr,unsigned short steps)//迴圈右移

while(steps)

pstr[cur]=tmp;

steps--; }}

int main()

3,編寫程式實現字串到整數的轉換,如"12345"---->12345.

**實現:

#define _crt_secure_no_warnings 1

#include#include#include#include#include//isspace isdigit的庫函式

enum state//判斷程式是否正常結束

;enum state state;//定義列舉型別的變數

int my_atoi(char *str)

if(*str=='\0')//空字串,直接結束

if(*str=='-')//第乙個字元為『-』,轉換後為負數

else if(*str=='+')//正數的情況

while(isdigit(*str))//判斷是否為數字字元

{ret=ret*10+flag*(*str-'0');

if(ret>int_max || ret

經典筆試題

1.關鍵字static的作用是什麼?在c語言中,關鍵字static有三個明顯的作用 1 在函式體,乙個被宣告為靜態的變數在這一函式被呼叫過程中維持其值不變。2 在模組內 但在函式體外 乙個被宣告為靜態的變數可以被模組內所有函式訪問,但不能被模組外其它函式訪問。它是乙個本地的全域性變數。3 在模組內,...

經典筆試題筆記

1.有無序的實數列v n 要求求裡面大小相鄰的實數的差的最大值,關鍵是要求線性空間和線性時間 方法 桶排序 由抽屜原理知最在差值maxsub有如下關係 所以,當所桶大小設為 然後就成有序的了,接下來就只要比較相鄰,取最優就可以了。2.13個球乙個天平,現知道只有乙個和其它的重量不同,問怎樣稱才能用三...

筆試面試 經典筆試題整理

以下內容全部整理自網路。把整數關鍵碼k雜湊到n個槽列表,最好的雜湊函式是 h k k rand n mod n,rand n 返回0到n 1的整數 初始資料集的排列順序對演算法的效能無影響的是 堆排序 堆排序 最優時間複雜度o nlogn 最差時間複雜度o nlogn 平均時間複雜度o nlogn ...