46家公司经典笔试题集:编程与算法挑战
需积分: 9 133 浏览量
更新于2024-11-02
收藏 277KB PDF 举报
"46家公司笔试题.pdf"
这份资料包含了46家知名公司的典型笔试题目,旨在帮助求职者检验和提升自己的编程技能。其中涉及的问题类型多样,涵盖了C语言基础、算法与数据结构、递归等多个方面。
1. Sony笔试题:
- 题目要求完成一个程序,根据已给出的部分输出星号(*)组成的图形。这是一道与字符串处理和控制流有关的题目,通常需要利用循环和条件判断来实现。在空白处填写适当的代码,使得程序能按规律打印出星号图案。
- 代码示例:
```c
for(i=1; i<=N; i++)
{
for(j=1; j<=N-i; j++)
printf(" ");
for(k=1; k<=2*i-1; k++)
printf("*");
printf("\n");
}
```
2. 数组降序排序:
- 题目要求编写一个函数`sort()`,用于对整型数组进行降序排列。这是一道关于排序算法的题目,可以采用冒泡排序、选择排序、插入排序或快速排序等方法。这里以简单的冒泡排序为例:
```c
voidsort()
{
int temp;
for(i=0; i<sizeof(array)/sizeof(array[0])-1; i++)
for(j=0; j<sizeof(array)/sizeof(array[0])-i-1; j++)
if(array[j]>array[j+1])
{
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
```
3. 费波那契数列:
- 编写程序求解费波那契数列的第十项。费波那契数列的定义是:F(0) = 0,F(1) = 1,F(n) = F(n-1) + F(n-2) (n >= 2)。可以选择递归或非递归方法实现。递归虽然直观,但对于较大的n会导致大量的重复计算,效率较低。这里展示一个非递归的动态规划方法:
```c
int Pheponatch(int N)
{
int fib[N+1];
fib[0] = 0;
fib[1] = 1;
for(int i=2; i<=N; i++)
fib[i] = fib[i-1] + fib[i-2];
return fib[N];
}
```
4. 程序错误修复:
- 给出的程序在尝试操作树节点结构体`TNode`时出现错误,因为没有定义`TNode`。要修复此问题,需要先定义`TNode`结构体:
```c
typedef struct TNode {
TNode* left;
TNode* right;
int value;
} TNode;
TNode* append(TNode* root, int N);
```
然后,`append`函数需要接收当前根节点作为参数,并返回新的根节点,以便正确地构建二叉树:
```c
TNode* append(TNode* root, int N)
{
// 实现二叉树的插入逻辑
}
int main()
{
root = append(root, 63);
root = append(root, 45);
// ...
}
```
这些题目涵盖了编程基础、算法和数据结构等多个关键知识点,通过解答这些题目,可以帮助求职者熟悉常见的编程面试题型,提升编程能力。
2022-07-13 上传
2022-07-13 上传
2022-07-14 上传
2022-07-14 上传
2021-10-08 上传
2021-04-15 上传
2021-09-27 上传
2019-08-07 上传
dd5fish
- 粉丝: 0
- 资源: 4
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析