華為2012校園招聘上機程式設計題(2)

2021-05-28 05:36:43 字數 2303 閱讀 7093

1、刪除字串中所有給定的子串

問題描述: 

在給定字串中查詢所有特定子串並刪除,如果沒有找到相應子串,則不作任何操作。

要求實現函式: 

int delete_sub_str(const char *str, const char *sub_str, char *result_str)

【輸入】 str:輸入的被操作字串

sub_str:需要查詢並刪除的特定子字串

【輸出】 result_str:在str字串中刪除所有sub_str子字串後的結果

【返回】 刪除的子字串的個數

int delete_sub_str(const char *str, const char *sub_str, char *result_str)

else

if(*p2 == '\0' && *p1 != '\0')

else if((*(--p1) == '\0') && (*(--p2) == '\0'))

else }

p1++;

} *p3 = '\0';

return count;

*/ //--------------------------第二種方法-------------------------------------------

size_t str_len = strlen(str);

size_t sub_len = strlen(sub_str);

const char *pos = strstr(str,sub_str);

int count = 0;

size_t i = 0, k = 0;

while(pos != null)

i = i + sub_len;

pos = strstr(pos + sub_len,sub_str);

} if(pos == null)

result_str[k] = '\0';

return count;

}

2、約瑟夫問題

問題描述:

輸入乙個由隨機數組成的數列(數列中每個數均是大於0的整數,長度已知),和初始計數值m。從數列首位置開始計數,計數到m後,將數列該位置數值替換計數值m,並將數列該位置數值出列,然後從下一位置從新開始計數,直到數列所有數值出列為止。如果計數到達數列尾段,則返回數列首位置繼續計數。請程式設計實現上述計數過程,同時輸出數值出列的順序

比如:輸入的隨機數列為:3,1,2,4,初始計數值m=7,從數列首位置開始計數(數值3所在位置) 

第一輪計數出列數字為2,計數值更新m=2,出列後數列為3,1,4,從數值4所在位置從新開始計數 

第二輪計數出列數字為3,計數值更新m=3,出列後數列為1,4,從數值1所在位置開始計數

第三輪計數出列數字為1,計數值更新m=1,出列後數列為4,從數值4所在位置開始計數

最後一輪計數出列數字為4,計數過程完成。

輸出數值出列順序為:2,3,1,4。

要求實現函式:

void array_iterate(int len, int input_array, int m, int output_array)

【輸入】  int len:輸入數列的長度;

int intput_array:輸入的初始數列

int m:初始計數值

【輸出】  int output_array:輸出的數值出列順序

【返回】  無

示例輸入:int input_array = ,int len = 4, m=7

輸出:output_array =

void array_iterate(int len, int input_array, int m, int output_array)

; node *head = new node;

head->data = input_array[0];

head->next = null;

node *pmove = head;

int i = 1;

while(i < len)

pmove->next = head;

int k = 0;

node *prenode;

while(k != len)

output_array[k++] = pmove->data;

m = pmove->data;

prenode->next = pmove->next;

delete pmove;

pmove = prenode;

}}

2013華為校園招聘上機題

題目描述 60分 通過鍵盤輸入一串小寫字母 a z 組成的字串。請編寫乙個字串過濾程式,若字串中出現多個相同的字元,將非首次出現的字元過濾掉。比如字串 abacacde 過濾結果為 abcde 要求實現函式 void stringfilter const char pinputstr,long li...

2012華為校園招聘上機筆試題

如同往年,華為今年剛一開學就來學校宣講了,9月6日和7日安排了軟體研發類的上機筆試 其他職位沒有筆試,直接通過網上註冊的簡歷篩選並安排面試 說下華為上機考試的特點和一些注意事項 1 考試時長為2個小時,總共有3個題 去年是2個題,難度要比今年大些 使用的是vc 6.0 2 3個題目中大致第乙個題是最...

華為校園招聘上機訓練

計算字串最後乙個單詞的長度,單詞以空格隔開。輸入描述 一行字串,非空,長度小於5000。輸出描述 整數n,最後乙個單詞的長度。輸入例子 hello world 輸出例子 5 include stdafx.h include include using namespace std int main c...