46家公司的笔试题集锦:编程与算法挑战
需积分: 3 191 浏览量
更新于2024-08-01
收藏 352KB DOC 举报
"收集46家公司笔试题"
这篇资料包含了46家公司的笔试题,旨在帮助准备面试的求职者提升技能和熟悉常见的编程题目。以下是其中几道题目的详细解析:
1. Sony笔试题 - 完成程序
这是一个C语言程序,目标是输出一个星号(*)组成的图形。题目要求填充缺失的代码部分。根据已给出的图形,可以看出每一行的星号数量是逐渐增加的,然后在达到峰值后逐渐减少。因此,`for`循环里的条件应该是基于当前行数(`i`)计算出星号的数量。同时,`printf`函数需要正确地输出星号。完整的程序应该是:
```c
#include<stdio.h>
#define N 8
int main()
{
int i;
int j;
int k;
for(i=0; i<N; i++) {
for(j=0; j<(N-i); j++)
printf(" ");
for(k=0; k<(2*i+1); k++)
printf("*");
printf("\n");
}
return 0;
}
```
2. 完成程序,实现对数组的降序排序
这是一个C语言的排序问题,要求使用`sort()`函数对整型数组进行降序排列。可以使用冒泡排序、选择排序或快速排序等算法。这里以冒泡排序为例给出解决方案:
```c
#include<stdio.h>
void sort();
int main()
{
int array[] = {45, 56, 76, 234, 1, 34, 23, 2, 3}; // 数字任意给出
sort(array, sizeof(array) / sizeof(array[0]));
return 0;
}
void sort(int arr[], int n)
{
for(int i = 0; i < n - 1; i++) {
for(int j = 0; j < n - i - 1; j++) {
if(arr[j] < arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
```
3. 费波那契数列
费波那契数列的定义是:每个数是前两个数的和。第10项可以通过递归或循环来计算。这里展示一个非递归的解决方案,因为递归在处理大数时可能会导致栈溢出:
```c
#include<stdio.h>
int Pheponatch(int N)
{
int fib[N + 2];
fib[0] = 1;
fib[1] = 1;
for(int i = 2; i <= N; i++)
fib[i] = fib[i - 1] + fib[i - 2];
return fib[N];
}
int main()
{
printf("The 10th term is %d", Pheponatch(10));
return 0;
}
```
4. 程序崩溃分析
这是一段C语言代码,用于创建一个二叉树结构。问题在于,`append`函数未定义,且`root`变量在全局作用域初始化为`NULL`。为了使程序正常运行,我们需要定义`append`函数以插入节点,并确保它正确地操作`root`指针。例如:
```c
#include<stdio.h>
#include<malloc.h>
typedef struct {
TNode* left;
TNode* right;
int value;
} TNode;
TNode* root = NULL;
void append(int N) {
TNode* newNode = (TNode*)malloc(sizeof(TNode));
newNode->value = N;
newNode->left = NULL;
newNode->right = NULL;
if(root == NULL) {
root = newNode;
} else {
// 实现插入逻辑,这里简化为只插入根节点
newNode->left = root;
root = newNode;
}
}
int main() {
append(63);
// ...
}
```
这些题目涵盖了基本的C语言编程、图形打印、数组排序、递归与循环、以及数据结构(二叉树)等知识。通过解答这些题目,求职者可以提升自己的编程技能,更好地应对实际的笔试挑战。
2009-08-29 上传
2008-11-17 上传
2012-12-12 上传
2008-08-04 上传
2009-06-30 上传
2009-05-01 上传
2009-10-16 上传
2018-09-25 上传
shiyi8224687
- 粉丝: 1
- 资源: 6
最新资源
- Raspberry Pi OpenCL驱动程序安装与QEMU仿真指南
- Apache RocketMQ Go客户端:全面支持与消息处理功能
- WStage平台:无线传感器网络阶段数据交互技术
- 基于Java SpringBoot和微信小程序的ssm智能仓储系统开发
- CorrectMe项目:自动更正与建议API的开发与应用
- IdeaBiz请求处理程序JAVA:自动化API调用与令牌管理
- 墨西哥面包店研讨会:介绍关键业绩指标(KPI)与评估标准
- 2014年Android音乐播放器源码学习分享
- CleverRecyclerView扩展库:滑动效果与特性增强
- 利用Python和SURF特征识别斑点猫图像
- Wurpr开源PHP MySQL包装器:安全易用且高效
- Scratch少儿编程:Kanon妹系闹钟音效素材包
- 食品分享社交应用的开发教程与功能介绍
- Cookies by lfj.io: 浏览数据智能管理与同步工具
- 掌握SSH框架与SpringMVC Hibernate集成教程
- C语言实现FFT算法及互相关性能优化指南