46家著名IT公司笔试题目合集:编程与算法挑战
需积分: 9 178 浏览量
更新于2024-10-13
收藏 345KB PDF 举报
本文提供了46家著名IT通信公司的笔试题目,其中包含了Sony公司的几道典型编程题目,旨在帮助求职者准备面试和了解IT行业的笔试风格。
第一题是Sony公司的笔试题,要求完成一个程序,从输出来看,这是一个打印星号(*)形状的程序。根据已给出的代码框架,我们可以推断出需要填充的部分主要是循环结构,用于控制行数和每行中的星号数量。可以使用两个嵌套循环来实现,外层循环控制行数,内层循环控制每行的星号输出。
```c
#include<stdio.h>
#define N 8
int main()
{
int i;
int j;
for(i = 1; i <= N; i++) { // 控制行数
for(j = 1; j <= i; j++) { // 控制每行的星号数
printf("*");
}
printf("\n"); // 换行
}
return 0;
}
```
第二题同样来自Sony,要求编写一个函数实现数组的降序排序。这道题可以使用冒泡排序、快速排序、选择排序等常见的排序算法。这里以简单的冒泡排序为例:
```c
#include<stdio.h>
void sort();
int main()
{
int array[] = {45, 56, 76, 234, 1, 34, 23, 2, 3};
sort();
return 0;
}
void sort()
{
int i, j, temp;
for (i = 0; i < sizeof(array) / sizeof(array[0]) - 1; i++) {
for (j = 0; j < sizeof(array) / sizeof(array[0]) - 1 - i; j++) {
if (array[j] > array[j + 1]) {
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
}
```
第三题是求斐波那契数列的第十项。斐波那契数列可以用递归或迭代方式解决,但递归在大数时效率较低,可能导致栈溢出。这里使用迭代法:
```c
#include<stdio.h>
int Pheponatch(int N);
int main()
{
printf("The 10th term is %d", Pheponatch(10));
return 0;
}
int Pheponatch(int N)
{
int a = 0, b = 1, c;
if (N == 1)
return a;
else if (N == 2)
return b;
else {
for (int i = 3; i <= N; i++) {
c = a + b;
a = b;
b = c;
}
}
return b;
}
```
第四题是一个带有内存管理问题的程序,程序试图向二叉树添加节点,但在添加过程中没有定义`TNode`结构体,也没有正确地初始化根节点。修正后的代码如下:
```c
#include<stdio.h>
#include<malloc.h>
typedef struct TNode {
TNode* left;
TNode* right;
int value;
} TNode;
TNode* root = NULL; // 初始化根节点为NULL
void append(int N);
int main()
{
append(63);
append(45);
append(32);
return 0;
}
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 {
// 添加节点的逻辑,例如按值插入
}
}
```
这些题目涵盖了基本的C语言编程技巧,如循环结构、数组操作、递归与迭代、内存管理和数据结构。对于准备IT公司笔试的求职者来说,熟悉这些知识点是非常必要的。
1993 浏览量
2008-09-26 上传
2009-07-14 上传
2023-09-20 上传
2023-07-09 上传
2023-07-14 上传
2023-05-19 上传
2023-06-14 上传
2023-10-20 上传
baiqianwoaini
- 粉丝: 1
- 资源: 24
最新资源
- 一款简约美观的动态搜索框
- fliqlo-仿mac的锁屏时钟.zip
- cpp代码-160.4.1.3
- dotfiles:这些是我的点文件,配置
- pythonVariousTests
- Unending-Staircase:Unity中的一个虚拟现实项目。 玩家可以在VE中向上或向下无级爬楼梯
- React_bootstrap
- 大数据-倒闭企业大数据分析项目-DeathCompany.zip
- Veena-finance
- latex-workshop:针对语言学家的LaTeX研讨会材料
- lightning_gan_zoo:使用pytorch闪电和hydra配置实现的GAN模型
- matlab由频域变时域的代码-lte-sidelink:左侧链接
- TheMammoth_Public:猛mm象的公共资源
- ReactNativeTest
- c代码-递归计算斐波那契函数前n项和
- 火车票系统后端(区间票) SSM(JAVA) Oracle.zip