亚洲AV日韩AⅤ综合手机在线观看,激情婷婷久久综合色,欧美色五月婷婷久久,久久国产精品99久久人人澡

  • <abbr id="uk6uq"><abbr id="uk6uq"></abbr></abbr>
  • <tbody id="uk6uq"></tbody>
  • c 高級(jí)面試題目

    時(shí)間:2020-11-08 09:06:32 面試問(wèn)題 我要投稿

    c 高級(jí)面試題目

    1、有一分?jǐn)?shù)序列:1/2,1/4,1/6,1/8„„,用函數(shù)調(diào)用的方法,求此數(shù)列前 20 項(xiàng)的和
    #include <stdio.h>
    double getValue()
    {
    double result = 0;
    int i = 2;
    while(i < 42)
    {
    result += 1.0 / i;//一定要使用 1.0 做除數(shù),不能用 1,否則結(jié)果將自動(dòng)轉(zhuǎn)化成整數(shù),即 0.000000
    i += 2;
    }
    return result;
    }
    int main()
    {
    printf("result is %f\n", getValue());
    system("pause");
    return 0;
    }
    2、有一個(gè)數(shù)組 a[1000]存放 0--1000;要求每隔二個(gè)數(shù)刪掉一個(gè)數(shù),到末尾時(shí)循環(huán)至開(kāi)頭繼續(xù)進(jìn)行,求最后一個(gè)被刪掉的數(shù)的原始下標(biāo)位置。
    以 7 個(gè)數(shù)為例:
    {0,1,2,3,4,5,6,7} 0-->1-->2(刪除)-->3-->4-->5(刪除)-->6-->7-->0(刪除),如此循環(huán)直到最后一個(gè)數(shù)被刪除。
    方法 1:數(shù)組
    #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 //元素個(gè)數(shù)
    /*
    MAXLINE 元素個(gè)數(shù)
    a[] 元素?cái)?shù)組
    R[] 指針場(chǎng)
    suffix 下標(biāo)
    index 返回最后的.下標(biāo)序號(hào)
    values 返回最后的下標(biāo)對(duì)應(yīng)的值
    start 從第幾個(gè)開(kāi)始
    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 高級(jí)面試題目】相關(guān)文章:

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

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

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

    高級(jí)網(wǎng)管面試筆試題目11-16

    實(shí)用C++面試筆試題目11-21

    經(jīng)典c++面試筆試題目11-21

    Jr.C++/C#開(kāi)發(fā)工程師面試筆試題目11-15

    經(jīng)典c++面試筆試題目22題11-21

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

    2016年華為認(rèn)證C/C++筆試題目11-06