金山笔试题集锦

本文汇集了金山公司笔试中的一些典型编程题目,涵盖了斐波那契数列、十进制转十四进制、矩形切割、猜词游戏、指针操作、字符串排序、整数二进制描述、学生类设计、文件查找API应用以及组合求和问题,全面考察编程基础和算法能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

1.斐波那契数列的每一项f(n),计算出f(n)<int所能表示的最大值的n值为多少?

2.输入一个偶数N,输出所有素数对之和等于N的素数对。

 

 

////////////////////////////////////////////////////////////////////////////////

1.编写函数实现十进制正整数到十四进制数的转换,在屏幕输出转换结果。
说明:用0, 1, 2, 3,....., 8, 9, A, B, C, D表示十四进制的基本的14个数。
例:键盘输入14,屏幕输出10。

2.结构RECT可以表示一个平面上的矩形区域 :
struct RECT
{
  int left, top, right, bottom;
};
如果给定两个矩形区域A和B,请构造一个函数,用若干矩形区域表示出区域A被B切掉之后剩余的区域,并在屏幕输出结果。例如,区域 (0, 0)-(2, 2) 被 (1, 1)-(3, 3) 切掉之后,剩余的两个区域可以表示为 (0, 0)-(2, 1) 和 (0, 1)-(1, 2),或者是 (0, 0)-(1, 2) 和 (1, 0)-(2, 1)(两种表示方式均可)。

3.编程实现猜词游戏
例:对于单词“hello”,程序提示输出:?????,等待用户输入。用户输入时,若单词包含该字母,如“l”,则程序显示输出“??ll?”;若单词不含该字母,如“a”,则程序提示用户猜错。继续等待用户输入,直到用户猜出全部字母,或输入错误次数超过最大允许出错次数,游戏结束。
注:
1)       单词由程序内定,由全小写字母组成
2)       提示输出问号数量等于单词长度
3)       最大允许出错次数等于单词长度

 

////////////////////////////////////////////////////////////////////////////

1.      结构POINT定义如下:

typedef struct tagPOINT {

        int x;

        int y;

    } POINT

用变量var给出下面的定义

例:一个POINT 变量

答案:POINT var;

a.      一个指向POINT的指针;

POINT *p;

b.      一个指向指针的指针,它指向的指针是指向一个POINT

 

c.      一个有16个POINT的数组;

 

d.      一个有16个指针的数组,每个指针指向一个POINT

   

e.      一个指向数组的指针,该数组有16个POINT

 

2.      实现函数IsEven,用于判断一个给定的整数是否为偶数

3.      写一个函数,实现对给定的字符串(字符串里面包括:英文字母,数字,符号)的处理。经过处理后的字符串其内容按字母,数字,符号的顺序存放。函数声明如下:
void ParseString(char* pstr);

要求:

a.      不能改函数声明;

b.      不改变字母数字等在字符串中原有的出现顺序;

c.      直接使用pstr所值指缓冲区,不允许另开缓冲区。

例如:给定的字符串为:A,2.d?3!e4r87we79...

输出结果为:Aderwe2348779,.?!...

4.      写一个函数,对给定整数的二进制表示进行描述
如:给定整数131,其二进制表示为10000011,要求函数输出以下结果:

1: 2

0: 5

1: 1

表示从最低位开始,包含2个1,5个0,1个1。

参考上一题,确定本函数的名字,入口出口及返回值,并实现本函数

5.      定义一个student类,成员变量包含学生姓名、出生年月日。要求重载“>”运算符,实现以出生年月日为依据比较两个学生年龄大小的功能。

6.      有如下3个API:

HANDLE FindFirst(char* lpFileName);//用于查找给定目录下是否有指定文件。若无则返回0,若有则返回一个句柄。例如:FindFirst("D://data//*.txt")

BOOL FindNext(HANDLE hFindFile); //继续查找该目录下是否有其他匹配文件。

BOOL FindClose(HANDLE hFindFile);//用于结束查找。

利用上述API实现函数NumOfPicFiles,找出给定目录下有多少个JPG及BMP文件(不考虑子目录)。

int NumOfPicFiles(char*lpszfolder);

Lpszfolder表示指定目录。

返回值表示找到的文件个数。

 

 

/////////////////////////////////////////////////////////////////////

任一给4个正整数,求出它的所有加和的总数。并按相应的格式打印出来  
  如:1,2,3,4  
  共有加和数10种。  
  结果打印如下:  
  和为1有1种  
  1=1;  
  和为2有1种  
  2=2;  
  ...  
  和为6有2种  
  6=1+2+3;  
  6=2+4;  
  ...  
  和为10有1种  
  10=1+2+3+4;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值