




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、華為機(jī)試題及答案1、通過(guò)鍵盤(pán)輸入任意一個(gè)字符串序列,字符串可能包含多個(gè)子串,子串以空格分隔。請(qǐng)編寫(xiě)一個(gè)程序,自動(dòng)分離出各個(gè)子串,并使用,將其分隔,并且在最后也補(bǔ)充一個(gè),并將子串存儲(chǔ)。測(cè)試:輸入:“abc def gh i d”輸出:“abc,def,gh,i,d,”#include<stdio.h>#include<string.h>void DivideString(const char *pInputStr, long lInputLen, char *pOutputStr)int i=0,j=0;int flag=0;while(pInputStri='
2、')i+;for(;i<lInputLen;i+)if(pInputStri=' ')flag=1;continue;if(flag=1)flag=0;pOutputStrj+=','pOutputStrj+=pInputStri;pOutputStrj+=','pOutputStrj='0' int main()char test40;char re40;gets(test);DivideString(test, strlen(test), re);printf("%s",re);return
3、0; 2、將輸入的字符串(字符串僅包含小寫(xiě)字母a到z),按照如下規(guī)則,循環(huán)轉(zhuǎn)換后輸出:a->b,b->c,y->z,z->a;若輸入的字符串連續(xù)出現(xiàn)兩個(gè)字母相同時(shí),后一個(gè)字母需要連續(xù)轉(zhuǎn)換2次。例如:aa 轉(zhuǎn)換為 bc,zz 轉(zhuǎn)換為 ab;當(dāng)連續(xù)相同字母超過(guò)兩個(gè)時(shí),第三個(gè)出現(xiàn)的字母按第一次出現(xiàn)算。2 / 12測(cè)試:輸入:char*input="abbbcd" 輸出:char*output="bcdcde"#include<stdio.h>#include<string.h>void convert(char
4、*input,char* output)int i;for(i=0;i<strlen(input);i+)if(i=0)outputi=inputi+1;if(outputi=123)outputi=97;elseif(inputi!=inputi-1)outputi=inputi+1;if(outputi=123)outputi=97;elseoutputi=inputi+2;if(outputi=123)outputi=97;if(outputi=124)outputi=98;outputi+1='0'int main()char in20="asdfzzx
5、zxz"char on20;/gets(in);convert(in,on);printf("%s",on);return 0;3、通過(guò)鍵盤(pán)輸入一串小寫(xiě)字母(az)組成的字符串。請(qǐng)編寫(xiě)一個(gè)字符串過(guò)濾程序,若字符串中出現(xiàn)多個(gè)相同的字符,將非首次出現(xiàn)的字符過(guò)濾掉。測(cè)試:輸入:“afafafaf” 輸出:“af”#include<stdio.h>#include<string.h>void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr)int i,j,co
6、unt;int k=0;for(i=0;i<strlen(pInputStr);i+)count=0;for(j=0;j<strlen(pOutputStr);j+)if(pInputStri=pOutputStrj)count+;if(count=0)pOutputStrk+=pInputStri;pOutputStrk='0'int main()char in20="aabbccabacddsads"char on20;/gets(in);stringFilter(in,strlen(in),on);printf("%s"
7、,on);return 0;4、通過(guò)鍵盤(pán)輸入一串小寫(xiě)字母(az)組成的字符串。請(qǐng)編寫(xiě)一個(gè)字符串壓縮程序,將字符串中連續(xù)出席的重復(fù)字母進(jìn)行壓縮,并輸出壓縮后的字符串。測(cè)試:輸入:“cccddecc” 輸出:“3c2de2c”#include<stdio.h>#include<string.h>void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr)int i,j=0,num=0;int k=0;for(i=0;i<=lInputLen;i+)if(i&&pInput
8、Stri!=pInputStri-1)if(num>1)pOutputStrj+=(char)num+'0'pOutputStrj+=pInputStri-1;num=1;elsenum+;pOutputStrj='0'int main()char in20="ccddecc"char on20;/gets(in);stringZip(in,strlen(in),on);printf("%s",on);return 0;5、通過(guò)鍵盤(pán)輸入100以?xún)?nèi)正整數(shù)的加、減運(yùn)算式,請(qǐng)編寫(xiě)一個(gè)程序輸出運(yùn)算結(jié)果字符串。輸入字符串的格式
9、為:“操作數(shù)1 運(yùn)算符 操作數(shù)2”,“操作數(shù)”與“運(yùn)算符”之間以一個(gè)空格隔開(kāi)。測(cè)試:輸入:“4 - 7” 輸出:“-3”#include<stdio.h>#include<string.h>#include<math.h>void arithmetic(const char *pInputStr, long lInputLen, char *pOutputStr)int i,count=0,re=0;int x,y,z;int num2=0;char op;for(i=0;i<lInputLen;i+)if(pInputStri=' '
10、)count+;if(count!=2)pOutputStr0='0'pOutputStr1='0'return;for(x=0;pInputStrx!=' 'x+)if(pInputStrx>='0'&&pInputStrx<='9')num0=num0*10+pInputStrx-'0'elsepOutputStr0='0'pOutputStr1='0'return;for(y=x+1;pInputStry!=' 'y+
11、)if(y-x-1!=1)pOutputStr0='0'pOutputStr1='0'return ;elseif(pInputStry-1!='+'&&pInputStry-1!='-')pOutputStr0='0'pOutputStr1='0'return;elseop=pInputStry-1;for(z=y+1;z<lInputLen;z+)if(pInputStrz>='0'&&pInputStrz<='9'
12、;)num1=num1*10+pInputStrz-'0'elsepOutputStr0='0'pOutputStr1='0'return;if(op='+')re=num0+num1;elsere=num0-num1;itoa(re,pOutputStr,10); int main()char in20;char on20;gets(in);arithmetic(in,strlen(in),on);printf("%s",on);return 0;6、選秀節(jié)目打分,分為專(zhuān)家評(píng)委和大眾評(píng)委,score 數(shù)組里面
13、存儲(chǔ)每個(gè)評(píng)委打的分?jǐn)?shù),judge_type 里存儲(chǔ)與 score 數(shù)組對(duì)應(yīng)的評(píng)委類(lèi)別,judge_typei = 1,表示專(zhuān)家評(píng)委,judge_typei = 2,表示大眾評(píng)委,n表示評(píng)委總數(shù)。打分規(guī)則如下:專(zhuān)家評(píng)委和大眾評(píng)委的分?jǐn)?shù)先分別取一個(gè)平均分(平均分取整),然后,總分 = 專(zhuān)家評(píng)委平均分 * 0.6 + 大眾評(píng)委 * 0.4,總分取整。如果沒(méi)有大眾評(píng)委,則 總分 = 專(zhuān)家評(píng)委平均分,總分取整。函數(shù)最終返回選手得分。#include<stdio.h>#include<string.h>#include<math.h>int cal_score(int
14、score, int judge_type, int n) int i=0,gscore;int pro=0,pub=0;int pro_count=0,pub_count=0;for(i=0;i<n;i+)if(judge_typei=1)pro_count+;pro=pro+scorei;if(judge_typei=2)pub_count+;pub=pub+scorei; if(pub_count!=0)gscore=pro/pro_count*0.6+pub/pub_count*0.4;elsegscore=pro/pro_count;return gscore; int mai
15、n()int score5=90,80,95,86,87;int judge_type5=1,2,2,1,1;int n=5;printf("%d",cal_score(score, judge_type, n);return 0;7、給定一個(gè)數(shù)組input ,如果數(shù)組長(zhǎng)度n為奇數(shù),則將數(shù)組中最大的元素放到 output 數(shù)組最中間的位置,如果數(shù)組長(zhǎng)度n為偶數(shù),則將數(shù)組中最大的元素放到 output 數(shù)組中間兩個(gè)位置偏右的那個(gè)位置上,然后再按從大到小的順序,依次在第一個(gè)位置的兩邊,按照一左一右的順序,依次存放剩下的數(shù)。例如:input = 3, 6, 1, 9, 7 out
16、put = 3, 7, 9, 6, 1; input = 3, 6, 1, 9, 7, 8 output = 1, 6, 8, 9, 7, 3#include<stdio.h>#include<string.h>#include<math.h>void sort(int input, int n, int output)int i,j,k,a;int temp;for(i=0;i<n;i+)for(j=0;j<n-i-1;j+)if(inputj<inputj+1)temp=inputj+1;inputj+1=inputj;inputj=t
17、emp;k=1;a=1;outputn/2=input0;while(k<n)outputn/2-a=inputk+;a+;outputn/2+a-1=inputk+;int main()int input5=99,80,95,86,87;int output5;int n=5,i;sort(input,n,output);for(i=0;i<n;i+)printf("%d ",outputi);return 0;8、操作系統(tǒng)任務(wù)調(diào)度問(wèn)題。操作系統(tǒng)任務(wù)分為系統(tǒng)任務(wù)和用戶(hù)任務(wù)兩種。其中,系統(tǒng)任務(wù)的優(yōu)先級(jí) < 50,用戶(hù)任務(wù)的優(yōu)先級(jí) >= 50且 <
18、;= 255。優(yōu)先級(jí)大于255的為非法任務(wù),應(yīng)予以剔除?,F(xiàn)有一任務(wù)隊(duì)列task,長(zhǎng)度為n,task中的元素值表示任務(wù)的優(yōu)先級(jí),數(shù)值越小,優(yōu)先級(jí)越高。函數(shù)scheduler實(shí)現(xiàn)如下功能,將task 中的任務(wù)按照系統(tǒng)任務(wù)、用戶(hù)任務(wù)依次存放到 system_task 數(shù)組和 user_task 數(shù)組中(數(shù)組中元素的值是任務(wù)在task 數(shù)組中的下標(biāo)),并且優(yōu)先級(jí)高的任務(wù)排在前面,優(yōu)先級(jí)相同的任務(wù)按照入隊(duì)順序排列(即先入隊(duì)的任務(wù)排在前面),數(shù)組元素為-1表示結(jié)束。例如:task = 0, 30, 155, 1, 80, 300, 170, 40, 99 system_task = 0, 3, 1, 7, -1 user_task = 4, 8, 2, 6, -1#include<stdio.h>#include<string.h>#include<math.h>void scheduler(int task, int n, int system_task, int user_task)int i,j,temp;int a=0,b=0;for(i=0;i<n;i+)if(taski<50)system_taska+=i;elseif(taski>=50
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣西壯族自治區(qū)柳州市2025年七年級(jí)下學(xué)期語(yǔ)文期末試卷及答案
- 2025年中考?xì)v史單選與多選分類(lèi)復(fù)習(xí)題集及答案(原創(chuàng))
- 城市交通規(guī)劃案例研究重點(diǎn)基礎(chǔ)知識(shí)點(diǎn)
- 教師移動(dòng)端備課實(shí)施路徑
- 建筑施工資料員培訓(xùn)課件:提升工程檔案管理技能
- 《當(dāng)代企業(yè)創(chuàng)新策略》課件
- 醫(yī)學(xué)檢驗(yàn)重點(diǎn)專(zhuān)科建設(shè)匯報(bào)
- 火化合伙協(xié)議書(shū)
- 轉(zhuǎn)讓糾紛協(xié)議書(shū)范本
- 軟件租用商務(wù)合同協(xié)議
- 弱電系統(tǒng)維保合同
- 高中家長(zhǎng)會(huì) 共筑夢(mèng)想,攜手未來(lái)課件-高二下學(xué)期期末家長(zhǎng)會(huì)
- 家電店慶活動(dòng)方案范文
- 《特種設(shè)備無(wú)損檢測(cè)機(jī)構(gòu)檢測(cè)能力確認(rèn) 工作導(dǎo)則》
- 醫(yī)療糾紛鑒定委員會(huì)工作制度及職責(zé)
- 投標(biāo)項(xiàng)目售后服務(wù)方案
- 國(guó)土安全課件
- 第一講-17.1一元二次方程的概念
- 【MOOC】《電子技術(shù)實(shí)驗(yàn)》(北京科技大學(xué))中國(guó)大學(xué)MOOC慕課答案
- 《活塞式空壓機(jī)》課件
- 新三板、北京交易所簡(jiǎn)介及上市利弊分析
評(píng)論
0/150
提交評(píng)論