當前位置:首頁 » 編程語言 » 面試考演算法可以用c語言嗎
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

面試考演算法可以用c語言嗎

發布時間: 2023-04-24 11:28:56

① 一道c語言面試題,請幫忙思考一下,給出對應的演算法,謝謝

{
struct {
char key[12];
char value[32];
}list1[7]={{"",""畢含鉛磨},{},};
string str="您好,你的卡號末四位[var1]在[var2]日[var3]時[var4]分[var5]消費了手激笑[var6]元,本次你消費了[var6]元將獲取相應積分。[var7]";
string temp=str;
string::size_type t;
for(int i=0;i<6;++i){
t=temp.find_first_of(list1[i].key);
temp=str.substr(0,t);
temp+=list1[i].value;
temp+=str.substr(t+strlen(list1[i].key),str.size());
str=temp;
}
}
這是C++思路 C就把string的相關操作自己寫下

② 經典C語言面試演算法題

經典C語言面試演算法題

1.寫一個函數,它的原形是int continumax(char *outputstr,char *intputstr)

功能:

在字元串中找出連續最長的數字串,並把這個串的長度返回,並把這個最長數字串付給其中一個函數參數outputstr所指內存。例如:"abcd12345ed125ss123456789"的首地址傳給intputstr後,函數將返回

9,outputstr所指的值為123456789。

#include

#include

#include

int FindMax_NumStr(char *outputstr,char *inputstr)

{

char *in = inputstr,*out = outputstr,*temp;

char *final;

int count = 0;

int maxlen = 0;

int i;

while(*in!='')

{

if(*in > 47 && *in < 58)

{

for(temp = in;*in> 47 && *in <58;in++)

count++;

}

else

in++;

if(maxlen < count)

{

maxlen = count;

count = 0;

final = temp;

}

}

for(i =0;i

{

*out = *final;

out++;

final++;

}

*out = '';

return maxlen;

}

void main(void)

{

char input[]="abc123def123456eec123456789dd";

char output[50] = {0};

int maxlen;

maxlen = FindMax_NumStr(output,input);

printf("the str %s ",output);

printf("the maxlen is %d ",maxlen);

}

2.求1000!的未尾有幾個0;

求出1->1000里,能被5整除的數的個數n1,能被25整除的數的個數n2,能被125整除的'數的個數n3,能被625整除的數的個數n4.1000!末尾的零的個數=n1+n2+n3+n4;

只要是末尾是5的數它乘以一個偶數就會出現一個0,而末尾是0的數乘以任何數也都會出現0

而末尾是0的如果是一個0肯定能被5整除,兩個0肯定能被25整數,以此類推3個0就能被5的三次方整除,也就是125

1000!就是1-1000數的相乘,能被5整除的所有數分別乘以一個偶數就會出現這些個的0,而例如100,既能被5整除,也能被25整除,所以就是兩個0

1000,既能被5,25,也能被125整除,所以算三個0

例如是10!=1*2*3*4*5*6*7*8*9*10,裡面有兩個數能被5整除,就是10和5,而

5隨便乘以一個偶數就出現一個0,而10乘以其它數也會出現一個0,所以10!會有兩個0

#include

#define NUM 1000

int find5(int num)

{

int ret = 0;

while(num%5==0)

{

num/=5;

ret++;

}

return ret;

}

int main(void)

{

int result = 0;

int i;

for(i=5;i<=NUM;i+=5)

result +=find5(i);

printf("the total zero number is %d ",result);

return 0;

}

3。編寫一個 C 函數,該函數在一個字元串中找到可能的最長的子字元串,且該字元串是由同一字元組成的。

char * search(char *cpSource, char ch)

{

char *cpTemp=NULL, *cpDest=NULL;

int iTemp, iCount=0;

while(*cpSource)

{

if(*cpSource == ch)

{

iTemp = 0;

cpTemp = cpSource;

while(*cpSource == ch)

++iTemp, ++cpSource;

if(iTemp > iCount)

iCount = iTemp, cpDest = cpTemp;

if(!*cpSource)

break;

}

++cpSource;

}

return cpDest;

}

;

③ c語言不能用來描述演算法對嗎

不對,可以描述演算法
2 講 演算法及用C語言描述演算法 ; 通過介紹演算法的性質、組成要素和舉例,引入流程圖和N-S圖來描述演算法。進一步,用C語句來實現演算法。 ;算 法;2 簡單演算法舉例;演算法表示如下:S1:2000→yearS2:若year不能被4整除,則輸出year不是閏年,轉S6S3:year能被4整除,不能被100整除,則輸出year是閏年,轉S6S4: year能被100整除,又能被400整除,則輸出year是閏年;否則輸出不是閏年。然後轉S6S5:輸出year不是閏年S6:year+1→yearS7:若year≤2500,轉S2;否則演算法停止。注意:有的問題對判斷的先後次序無關;但有的問題不能任意顛倒判斷的先後順序。;例2.4 求S1:sign=1S2:sum=1S3:deno=2S4:sign=(-1) ×signS5:term=sign ×(1/deno)S6:sum=sum+termS7:deno=deno+1S8:若deno≤100返回S4;否則演算法結束。;例2.5 判斷一個大於等於3的正整數是否為素數。素數:只能被1和其本身整除的數。S1:輸入n的值S2:i=2(i作為除數)S3:n被i除,得余數rS4:若r=0,不是素數,演算法結束;否則執行S5S5:i+1→iS6:若i≤n-1,返回S3;否則是素數,結束。實際上只需判斷n能否被2~ 之間的整數整除即可。所以S6可改為:S6:若i≤ ,返回S3;否則是素數,結束。;3. 演算法的組成要素 操作。如算術運算、邏輯運算、關系運算、函數運算等。 控制結構。用於控制組成演算法的各操作的執行順序。結構化程序設計中,順序、選擇和循環3種基本結構能組成任何結構的演算法。;2)選擇結構(又稱選取結構、分支結構);3)循環結構(又稱重復結構) 分為當型循環結構和直到型循環結構。;;5. 偽代碼與逐步細化的程序設計方法 偽代碼(pseudo code):介於自然語言與計算機語言之間的文字元號演算法描述工具。一般步驟為:1) 自頂向下,將問題描述為幾個子問題或子功能,不要試圖一下子就觸及問題解法的細節。2) 在子問題一級描述演算法。;用C語句描述演算法;例. 3個數中取大數—逐步細化法設計程序; ③寫主函數的條件已經成熟 ;④仍按逐步細化的方法設計max3()的演算法。設三個參數為x,y,z。 S2.1:從x, y中取出大數送m S2.2:從m,z中取出大數送m S2.3:??回m給主調函數進一步細化得: S2.1:if (x>y) m=x; else m=y; S2.2:if (m>z) m=m; else m=z; S2.3:return(m);;⑤很容易用C語言寫出函數max3()。;[例2.20]:用C語言表示求5!的演算法 ;[例2.21]:用C語言表示求下列級數的演算法 ;結構化程序設計方法

④ 只會c語言可以應聘演算法工程師嗎

不可以的,就算會java,c++多種語言也未必能當演算法工陪拆程師的,演算法蘆蔽棗工程師側重演算法,你必須要演算法並磨夠好才可以的。演算法工程師不好當阿。

⑤ 北航計算機復試只能用C語言嗎,不能用C++嗎

C/C++的意思一般是純C語言或C++都行,只要是題目沒有硬性要求採用對象、盯慶稿類的相關概念,二者差坦沒凱孝有實質區別。

⑥ 寫演算法題為什麼大多用C語言而不用java

首先c語言的效率比較高,執行起來比較快
其次演算法有不少需要對浮點的數據做定點的截斷,這個用c語言比較通用。同時代碼量相對來說不大。
另外不少演算法在晶元上面去實現,很多晶元驗證環境同時支持c語言的參考模型。