<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            c 高級面試題目

            時間:2020-11-08 09:06:32 面試問題 我要投稿

            c 高級面試題目

            1、有一分數序列:1/2,1/4,1/6,1/8„„,用函數調用的方法,求此數列前 20 項的和
            #include <stdio.h>
            double getValue()
            {
            double result = 0;
            int i = 2;
            while(i < 42)
            {
            result += 1.0 / i;//一定要使用 1.0 做除數,不能用 1,否則結果將自動轉化成整數,即 0.000000
            i += 2;
            }
            return result;
            }
            int main()
            {
            printf("result is %f\n", getValue());
            system("pause");
            return 0;
            }
            2、有一個數組 a[1000]存放 0--1000;要求每隔二個數刪掉一個數,到末尾時循環至開頭繼續進行,求最后一個被刪掉的數的原始下標位置。
            以 7 個數為例:
            {0,1,2,3,4,5,6,7} 0-->1-->2(刪除)-->3-->4-->5(刪除)-->6-->7-->0(刪除),如此循環直到最后一個數被刪除。
            方法 1:數組
            #include <iostream>
            using namespace std;
            #define null 1000
            int main()
            {
            int arr[1000];
            for (int i=0;i<1000;++i)
            arr[i]=i;
            int j=0;
            int count=0;
            while(count<999)
            {
            while(arr[j%1000]==null)
            j=(++j)%1000;
            j=(++j)%1000;
            while(arr[j%1000]==null)
            j=(++j)%1000;
            j=(++j)%1000;
            while(arr[j%1000]==null)
            j=(++j)%1000;
            arr[j]=null;
            ++count;
            }
            while(arr[j]==null)
            j=(++j)%1000;
            cout<<j<<endl;
            return 0;
            }方法 2:鏈表
            #include<iostream>
            using namespace std;
            #define null 0
            struct node
            {
            int data;
            node* next;
            };
            int main()
            {
            node* head=new node;
            head->data=0;
            head->next=null;
            node* p=head;
            for(int i=1;i<1000;i++)
            {
            node* tmp=new node;
            tmp->data=i;
            tmp->next=null;
            head->next=tmp;
            head=head->next;
            }
            head->next=p;
            while(p!=p->next)
            {
            p->next->next=p->next->next->next;
            p=p->next->next;
            }
            cout<<p->data;
            return 0;
            }
            方法 3:通用算法
            #include <stdio.h>
            #define MAXLINE 1000 //元素個數
            /*
            MAXLINE 元素個數
            a[] 元素數組
            R[] 指針場
            suffix 下標
            index 返回最后的.下標序號
            values 返回最后的下標對應的值
            start 從第幾個開始
            K 間隔
            */
            int find_n(int a[],int R[],int K,int& index,int& values,int s=0) {
            int suffix;
            int front_node,current_node;
            suffix=0;
            if(s==0) {
            current_node=0;
            front_node=MAXLINE-1;
            }
            else {
            current_node=s;
            front_node=s-1;
            }
            while(R[front_node]!=front_node) {
            printf("%d\n",a[current_node]);
            R[front_node]=R[current_node];
            if(K==1) {
            current_node=R[front_node];
            continue;
            }
            for(int i=0;i<K;i++){
            front_node=R[front_node];
            }
            current_node=R[front_node];
            }
            index=front_node;
            values=a[front_node];
            return 0;
            }
            int main(void) {
            int a[MAXLINE],R[MAXLINE],suffix,index,values,start,i,K;
            suffix=index=values=start=0;
            K=2;
            for(i=0;i<MAXLINE;i++) {
            a[i]=i;
            R[i]=i+1;
            }
            R[i-1]=0;
            find_n(a,R,K,index,values,2);
            printf("the value is %d,%d\n",index,values);
            return 0;
            }

            【c 高級面試題目】相關文章:

            C/C++面試題目11-21

            C C++面試筆試題目集錦11-15

            C++面試筆試題目11-21

            高級網管面試筆試題目11-16

            實用C++面試筆試題目11-21

            經典c++面試筆試題目11-21

            Jr.C++/C#開發工程師面試筆試題目11-15

            經典c++面試筆試題目22題11-21

            C++筆試題目分享11-22

            2016年華為認證C/C++筆試題目11-06

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看