2015屆華為校園招聘機試題 C語言實現

2021-07-03 04:56:07 字數 2971 閱讀 2308

第一題(60分):

按要求分解字串,輸入兩個數m,n;m代表輸入的m串字串,n代表輸出的每串字串的位數,不夠補0。例如:輸入2,8, 「abc」 ,「123456789」,則輸出為「abc00000」,「12345678「,」90000000」

[cpp]view plain

copy

#include

#include

using

namespace std;  

void solve(char *str , int n , int len)  

else

putchar(' ');  

}  printf("\n");  

}  int main(void)  

}  return 0;  

}  

第一題:拼音轉數字

輸入是乙個只包含拼音的字串,請輸出對應的數字序列。轉換關係如下:

描述:      拼音        yi  er  san  si  wu  liu  qi  ba  jiu

阿拉伯數字        1   2   3      4   5    6    7   8   9

輸入字元只包含小寫字母,所有字元都可以正好匹配

執行時間限制:無限制

記憶體限制:       無限制

輸入:              一行字串,長度小於1000

輸出:              一行字元(數字)串

樣例輸入:       yiersansi

樣例輸出:       1234

[cpp]view plain

copy

#include

#include

using

namespace std;  

void solve(char *str , int len)  

else

break;  

case

'w':  

putchar('5');  

i += 2;  

break;  

case

'l':  

putchar('6');  

i += 3;  

break;  

case

'q':  

putchar('7');  

i += 2;  

break;  

case

'b':  

putchar('8');  

i += 2;  

break;  

case

'j':  

putchar('9');  

i += 3;  

break;  

}  }  

printf("\n");  

}  int main(void)  

return 0;  

}  

第二題:去除重複字元並排序

執行時間限制:無限制

內容限制:       無限制

輸入:              字串

輸出:              去除重複字元並排序的字串

樣例輸入:       aabcdefff

樣例輸出:       abcdef

[cpp]view plain

copy

#include

#include

#include

using

namespace std;  

void solve(char *str , int len)  

for(i = 0 ; i < 256 ; ++i)  

printf("\n");  

}  int main(void)  

return 0;  

}  

第三題:等式變換

輸入乙個正整數x,在下面的等式左邊的數字之間新增+號或者-號,使得等式成立。

1 2 3 4 5 6 7 8 9 = x

比如:12-34+5-67+89 = 5

1+23+4-5+6-7-8-9 = 5

請編寫程式,統計滿足輸入整數的所有整數個數。

輸入:       正整數,等式右邊的數字

輸出:       使該等式成立的個數

樣例輸入:5

樣例輸出:21

[cpp]view plain

copy

#include

#include

using

namespace std;  

int ops[21];  

const

char sym[3] = ;  

int result , num;  

void dfs(int layer, int currentresult, int lastop, int lastsum)  

printf(" = %d\n" , result);  

}  return;  

}  ops[layer] = 2;  

dfs(layer + 1 , currentresult , lastop , lastsum);   //continue

currentresult += (lastop)? (-1 * lastsum) : lastsum;  

ops[layer] = 0;  

dfs(layer + 1 , currentresult , 0 , 0);  //plus

ops[layer] = 1;  

dfs(layer + 1 , currentresult , 1 , 0);  //minus

}  int main(void)  

return 0;  

2015屆華為校園招聘機試題

第一題 60分 按要求分解字串,輸入兩個數m,n m代表輸入的m串字串,n代表輸出的每串字串的位數,不夠補0。例如 輸入2,8,abc 123456789 則輸出為 abc00000 12345678 90000000 cpp view plain copy include include usin...

2015屆華為校園招聘機試題

include include using namespace std void solve char str int n int len else putchar printf n int main void return 0 第一題 拼音轉數字 輸入是乙個只包含拼音的字串,請輸出對應的數字序列。...

2015屆華為校園招聘機試題二

include include include includeusing namespace std 輸入是乙個只包含拼音的字串,請輸出對應的數字序列。轉換關係如下 描述 拼音 yi er san si wu liu qi ba jiu 阿拉伯數字 1 2 3 4 5 6 7 8 9 輸入字元只包含...