整理了網上2014華為機試題,近幾十個網頁的資料,同時本人對每道題均進行了驗證。並且對一些題目進行了更好的修正。希望對後來者有所幫助。
1.第一題的題目大概是輸入整型陣列求陣列的最小數和最大數之和,例如輸入1,2,3,4則輸出為5,當輸入只有乙個數的時候,則最小數和最大數都是該數,例如只輸入1,則輸出為2;另外陣列的長度不超過50
#include
main()
; int i,n;
printf("請輸入整型陣列的長度(1~50):");
scanf("%d",&n);
printf("請輸入整型陣列的元素:");
for (i=0;i
int min_num=num[0];
int max_num=num[0];
for(int j=0;j
int sum=min_num+max_num;
printf("陣列中最大與最小值之和:%d\n",sum);
return 0;
}2.求兩個長長整型的資料的和並輸出,例如輸入1233333333333333 。。。 3111111111111111111111111.。。。,則輸出。。。。
#include
#include
#include
main()
if(len_num1>0)
if(len_num2>0)
for(int j=len_max1;j>=0;j--) //實現進製操作
}char *outsum=(char*)malloc(sizeof(char)*len_max1);
j=0;
while(sum[j]==0) //跳出頭部0元素
j++;
for(int m=0;m outsum[m]=sum[j]+'0';
outsum[m]='\0';
printf("輸出兩長長整型資料之和:%s\n",outsum);
return 0;
}3.通過鍵盤輸入一串小寫字母(a~z)組成的字串。請編寫乙個字串過濾程式,若字串**現多個相同的字元,將非首次出現的字元過濾掉。
比如字串「abacacde」過濾結果為「abcde」。
要求實現函式:
void stringfilter(const char *pinputstr, long linputlen, char *poutputstr);
【輸入】 pinputstr: 輸入字串
linputlen: 輸入字串長度
【輸出】 poutputstr: 輸出字串,空間已經開闢好,與輸入字串等長;
#include
#include
#include
void stringfilter(const char *p_str, long len, char *p_outstr)
; const char *tmp = p_str;
for(int j=0;j
*p_outstr = '\0';
}void main()
4.通過鍵盤輸入一串小寫字母(a~z)組成的字串。請編寫乙個字串壓縮程式,將字串中連續出席的重複字母進行壓縮,並輸出壓縮後的字串。
壓縮規則:
1. 僅壓縮連續重複出現的字元。比如字串"abcbc"由於無連續重複字元,壓縮後的字串還是"abcbc".
2. 壓縮欄位的格式為"字元重複的次數+字元"。例如:字串"***yyyyyyz"壓縮後就成為"3x6yz"
要求實現函式:
void stringzip(const char *pinputstr, long linputlen, char *poutputstr);
【輸入】 pinputstr: 輸入字串
linputlen: 輸入字串長度
【輸出】 poutputstr: 輸出字串,空間已經開闢好,與輸入字串等長;
#include
#include
#include
void stringzip(const char *p_str, long len, char *p_outstr)
else
}*p_outstr = '\0';
}void main()
5.通過鍵盤輸入100以內正整數的加、減表示式,請編寫乙個程式輸出運算結果字串。
輸入字串的格式為:「運算元1 運算子運算元2」,「運算元」與「運算子」之間以乙個空格隔開。
補充說明:
1. 運算元為正整數,不需要考慮計算結果溢位的情況。
2. 若輸入算式格式錯誤,輸出結果為「0」。
要求實現函式:
void arithmetic(const char *pinputstr, long linputlen, char *poutputstr);
【輸入】 pinputstr: 輸入字串
linputlen: 輸入字串長度
【輸出】 poutputstr: 輸出字串,空間已經開闢好,與輸入字串等長;
#include
#include
#include
void arithmetic(const char *input, long len, char *output)
if(cnt!=2)
sscanf(input,"%s %s %s",s1,s2,s3);
if(strlen(s2)!=1||(s2[0]!='+'&&s2[0]!='-'))
int len_s1=strlen(s1);
for(i=0;i {
if(s1[i]<'0'||s1[i]>'9')
{output++ = '0';
output = '\0';
2019華為機試整理及朋友華為面試經歷
整理了網上 華為機試題,近幾十個網頁的資料,同時本人對每道題均進行了驗證。並且對一些題目進行了更好的修正。希望對後來者有所幫助。1 第一題的題目大概是輸入整型陣列求陣列的最小數和最大數之和,例如輸入1,2,3,4則輸出為5,當輸入只有乙個數的時候,則最小數和最大數都是該數,例如只輸入1,則輸出為2 ...
2019華為校園招聘機試參考
2012華為校園招聘機試 中國海洋大學 1.字元變換 題目描述 輸入乙個字串,將其中大寫字母轉換為對應小寫字母之後的第五個字母,若原始大寫字母為v z,則轉換為對應小寫字母的值減21。其他字元不變,輸出轉換後的字串。例如,對於字母a,則轉換為小寫字母f 若形參是字母w,則轉換為小寫字母b 要求實現函...
GRE機經整理技巧及範例
智課網 g r e 備考資料 應該充分重視機經在gre機考中的作用,對於乙個水平不高的gter,機經完全有可能使你的分數提高一兩百分.即使對於高手,機經也能夠起到穩定情緒,節約時間的作用.2.看機經的時間 個人認為機經的處理應該分兩個階段 第一階段對於每天更新的機經及時的進行分類的整理,已經確定答案...