• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. 經典C語言面試算法題

        時間:2024-10-13 16:35:49 嵌入式培訓 我要投稿
        • 相關推薦

        經典C語言面試算法題

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

        經典C語言面試算法題

          功能:

          在字符串中找出連續最長的數字串,并把這個串的長度返回,并把這個最長數字串付給其中一個函數參數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!='\0')

          {

          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 = '\0';

          return maxlen;

          }

          void main(void)

          {

          char input[]="abc123def123456eec123456789dd";

          char output[50] = {0};

          int maxlen;

          maxlen = FindMax_NumStr(output,input);

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

          printf("the maxlen is %d\n",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\n",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語言面試算法題】相關文章:

        2016年嵌入式面試C語言試題「精選」03-07

        計算機二級C語言真題及答案09-26

        嵌入式C語言面試題(附答案)03-17

        C語言程序的結構03-06

        2017計算機二級考試C語言沖刺題03-10

        計算機二級C語言考試真題及答案09-30

        計算機二級考試C語言歷年真題09-26

        計算機二級C語言筆試歷年真題及答案09-30

        2017計算機二級考試C語言沖刺題及答案03-22

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 亚洲无吗大片在线观看 | 午夜福利福利视频网 | 最新国产精品久久精品 | 自拍亚洲一区欧美另类 | 亚洲综合久久AV一区二区三区 | 中文字幕久热精品视 |