46家名企笔试题集:计算机行业经典试题
需积分: 9 172 浏览量
更新于2024-12-13
收藏 277KB PDF 举报
"这是一份集合了46家著名公司的笔试试题,涵盖了计算机行业的不同领域,旨在帮助求职者准备面试。试题具有代表性,能够帮助考生熟悉常见的编程问题和逻辑测试,提高求职成功率。"
试题解析:
1. Sony笔试题:
这是一道填充空缺代码的题目,目的是要求考生完成一个打印星号图案的程序。根据提供的图案,我们可以推断出程序是用于生成等腰三角形的星号。缺失部分应包括循环结构来控制行数和每行的星号数量。代码可能如下:
```c
#include<stdio.h>
#define N 8
int main()
{
int i, j;
for (i = 1; i <= N; i++) {
for (j = 1; j <= N - i; j++)
printf(" ");
for (j = 1; j <= 2 * i - 1; j++)
printf("*");
printf("\n");
}
return 0;
}
```
2. 数组降序排序:
这道题要求考生实现一个函数,将整型数组按降序排列。可以使用冒泡排序、选择排序、插入排序或者更高效的快速排序、归并排序等算法。这里以简单的冒泡排序为例:
```c
#include<stdio.h>
void sort(int array[], int size) {
int i, j, temp;
for (i = 0; i < size - 1; i++) {
for (j = 0; j < size - 1 - i; j++) {
if (array[j] > array[j + 1]) {
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
}
int main() {
int array[] = {45, 56, 76, 234, 1, 34, 23, 2, 3};
sort(array, sizeof(array) / sizeof(array[0]));
return 0;
}
```
3. 费波那契数列:
费波那契数列的第n项可以通过递归或迭代方式计算。递归方法简单但效率低,因为存在大量的重复计算。迭代方法更高效,避免了重复计算。这里用迭代法实现:
```c
#include<stdio.h>
int Pheponatch(int N) {
if (N <= 1)
return N;
int fib = 1, prevFib = 1;
for (int i = 2; i < N; i++) {
int temp = fib;
fib += prevFib;
prevFib = temp;
}
return fib;
}
int main() {
printf("The 10th term is %d", Pheponatch(10));
return 0;
}
```
4. 程序崩溃问题:
程序中`append`函数未定义,同时`TNode`结构体中的类型`TNode`未声明。要修复这个问题,首先需要定义`TNode`,然后提供`append`函数的实现。例如,假设`append`用于向二叉树添加节点:
```c
#include<stdio.h>
#include<malloc.h>
typedef struct TNode {
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 = newNode->right = NULL;
if (root == NULL) {
root = newNode;
} else {
TNode* current = root;
while (1) {
if (N < current->value) {
if (current->left == NULL) {
current->left = newNode;
break;
} else {
current = current->left;
}
} else {
if (current->right == NULL) {
current->right = newNode;
break;
} else {
current = current->right;
}
}
}
}
}
int main() {
append(63);
append(45);
// ...
}
```
这个修复版本定义了`TNode`结构体,并提供了`append`函数的实现,用于向二叉搜索树添加节点。现在,程序应该可以正确运行而不会崩溃。
以上解析展示了计算机科学中常见的编程问题,包括图形打印、排序算法、递归与迭代计算以及数据结构(如二叉树)的使用。这些知识点是计算机专业求职者需要掌握的基础技能。
151 浏览量
111 浏览量
129 浏览量
2008-11-02 上传
102 浏览量
2021-08-01 上传
143 浏览量
126 浏览量
2021-10-14 上传
ws_dracula
- 粉丝: 0
- 资源: 1
最新资源
- GridView 72般绝技(二)
- Asp.Net事务和异常处理 (三)
- Asp.Net事务和异常处理 (二)
- HP-UX 11i v1.6安装与配置指南
- J2me 手机开发入门教程[3]
- ASP.NET 2.0 中的创建母版页
- 在ASP.NET中实现Url Rewriting (五)
- Oracle Concepts
- 基于ARM的便携式小卫星塔架测试系统的研究
- Wiley.And.Sons.Mastering Data Warehouse Design.pdf
- developer01.doc
- J2me 手机开发入门教程[1]
- 信号与系统第一章课件
- Sun Java SystemDirectory Server
- 陈敏 OPNET网络仿真 入门图书
- 课件COURSE MS101 Microsoft Visual CSharp