46家公司的笔试题集锦:编程与算法挑战
需积分: 3 57 浏览量
更新于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语言编程、图形打印、数组排序、递归与循环、以及数据结构(二叉树)等知识。通过解答这些题目,求职者可以提升自己的编程技能,更好地应对实际的笔试挑战。
175 浏览量
104 浏览量
点击了解资源详情
2012-12-12 上传
2008-08-04 上传
108 浏览量
2009-10-16 上传
2018-09-25 上传
shiyi8224687
- 粉丝: 1
- 资源: 6
最新资源
- kindergarten
- 基于VB实现ACCESS汽车租凭管理系统(论文+系统).rar
- 软件测试工程师面试题及答案(全)文档集
- 最好用的JAVA代码混淆工具proguard-7.0.0.zip
- mixlib-cli:用于创建命令行应用程序的混合-为参数说明和处理提供了简单的DSL
- Flutter_Localizations:一个示例flutter应用程序,演示了如何使用本地化来支持2种语言
- 自平衡智能小车第二版-电路方案
- zstack.zip
- 基于MATLAB的遗传算法工具箱(51个MATLAB工具+源代码).zip
- Weights-Initialization-in-Nueral-Networks:神经网络中的权重初始化技术
- 20200917-头豹研究院-汽车应用系列深度研究:2019年中国经营性汽车租赁行业应用概览.rar
- CICD_automation
- 变频器 SINAMICS G120D,配备控制单元 CU240D-2.zip
- 耶鲁大学人脸识别数据集
- sinatra-book:正式回购到sinatrasinatra-book教程+食谱
- DFRobot_DS323X