会员中心     
首页 > 资料专栏 > HRM > 人力资源 > 面试甄选 > 招聘试题_互联网技术岗之算法笔试题DOC

招聘试题_互联网技术岗之算法笔试题DOC

伊春未来***
V 实名认证
内容提供者
资料大小:24KB(压缩后)
文档格式:DOC
资料语言:中文版/英文版/日文版
解压密码:m448
更新时间:2022/4/26(发布于黑龙江)

类型:积分资料
积分:10分 (VIP无积分限制)
推荐:免费申请

   点此下载 ==>> 点击下载文档


文本描述
部分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\n", number, score); ??return average; ?} else { ??printf("Average=%d\n", 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\n", 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\n", result, *source++); ?} else { ??int i, j; ??for(i=0; source?!= 0; i++); ??for(j=0; result[j] != 0; j++);