• 騰訊筆試題

    時間:2022-07-10 06:12:58 筆試 我要投稿
    • 相關推薦

    關于騰訊筆試題

    部分IT公司筆試算法題

    關于騰訊筆試題

    1、將一整數逆序后放入一數組中(要求遞歸實現)

    void convert(int *result, int n) {

    if(n>=10)

    convert(result+1, n/10);

    *result = n%10;

    }

    int main(int argc, char* argv[]) {

    int n = 123456789, result[20] = { };

    convert(result, n);

    printf("%d:", n);

    for (int i = 0; i < 9; i++)

    printf("%d", result);

    }

    2、求高于平均分的學生學號及成績(學號和成績人工輸入)

    double find(int total, int n) {

    int number, score, average;

    scanf("%d", &number);

    if(number != 0) {

    scanf("%d", &score);

    average = find(total+score, n+1);

    if(score >= average)

    printf("%d:%d ", number, score);

    return average;

    } else {

    printf("Average=%d ", total/n);

    return total/n;

    }

    }

    int main(int argc, char* argv[]) {

    find(0, 0);

    }

    3、遞歸實現回文判斷(如:abcdedbca就是回文,判斷一個面試者對遞歸理解的簡單程序)

    int find(char *str, int n) {

    if(n<=1) return 1;

    else if(str[0]==str[n-1]) return find(str+1, n-2);

    else return 0;

    }

    int main(int argc, char* argv[]) {

    char *str = "abcdedcba";

    printf("%s: %s ", str, find(str, strlen(str)) ? "Yes" : "No");

    }

    4、組合問題(從M個不同字符中任取N個字符的所有組合)

    void find(char *source, char *result, int n) {

    if(n==1) {

    while(*source)

    printf("%s%c ", result, *source++);

    } else {

    int i, j;

    for(i=0; source != 0; i++);

    for(j=0; result[j] != 0; j++);

    for(; i>=n; i--) {

    result[j] = *source++;

    result[j+1] = 黄频国产免费高清视频_富二代精品短视频在线_免费一级无码婬片aa_精品9E精品视频在线观看