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 ...