1.寫乙個函式,它的原形是int continumax(char *outputstr,char *intputstr)
功能: 在字串中找出連續最長的數字串,並把這個串的長度返回,並把這個最長數字串付給其中乙個函式引數outputstr所指記憶體。例如:
"abcd12345ed125ss123456789"的首位址傳給intputstr後,函式將返回9,outputstr所指的值為123456789。
1. #include
2. #include
3. #include
4. 5. int findmax_numstr(char *outputstr,char *inputstr)
6. 19. else
20. in++;
21. if(maxlen < count)
22.27. }
28.29. for(i =0;i30.
35. *out = '\0';
36. return maxlen;
37. }
38.39. void main(void)
40. ;
43. int maxlen;
44. maxlen = findmax_numstr(output,input);
45. printf("the str %s\n",output);
46. printf("the maxlen is %d\n",maxlen);
47. }
複製**
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
1. #include
2. #define num 1000
3. 4. int find5(int num)
5. 12. return ret;
13. }
14.15. int main(void)
16.複製**
3.編寫乙個 c 函式,該函式在乙個字串中找到可能的最長的子字串,且該字串是由同一字元組成的。
1. char * search(char *cpsource, char ch)
2. 15. ++cpsource;
16. }
17. return cpdest;
18. }
java面試演算法題
1 將一整數逆序後放入一陣列中 要求遞迴實現 2 求高於平均分的學生學號及成績 學號和成績人工輸入 3 遞迴實現回文判斷 如 abcdedbca就是回文,判斷乙個面試者對遞迴理解的簡單程式 4 組合問題 從m個不同字元中任取n個字元的所有組合 5 分解成質因數 如435234 251 17 17 3...
C語言經典演算法8道題
1.問題描述 梯有n階,上樓可以一步上一階,也可以一步上二階。編寫乙個程式,計算共有多少中不同的走法 2.問題描述 armstrong數具有如下特徵 乙個n位數等於其個位數的n次方之和。如 153 13 53 33 1634 14 64 34 44 找出2 3 4 5位的所有armstrong數。3...
C語言經典演算法詳解
分而治之方法與軟體設計的模組化方法非常相似。為了解決乙個大的問題,可以 1 把它分成兩個或多個更小的問題 2 分別解決每個小問題 3 把各小問題的解答組合起來,即可得到原問題的解答。小問題通常與原問題相似,可以遞迴地使用分而治之策略來解決。下列通過例項加以說明。例 利用分而治之演算法求乙個整數陣列中...