正文

金山软件网上笔试题2007-06-24 12:17:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/elva6401/27049.html

分享到:

1.      结构POINT定义如下:

typedef struct tagPOINT { 

        int x;

        int y;

    } POINT

用变量var给出下面的定义

:一个POINT 变量

答案:POINT var;

a.      一个指向POINT的指针;

POINT *p;

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

 

c.      一个有16POINT的数组;

 

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

   

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

 

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

表示从最低位开始,包含215011

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

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

6.      有如下3API

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

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

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

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

int NumOfPicFiles(char*lpszfolder);

Lpszfolder表示指定目录。

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

 

 

1.

a.         答:...

POINT *p;

b.         答:...

typedef POINT *P;

P *p2;

c.         答:...

POINT s[16];

d.         答:...
POINT *p4;

p4=(POINT *)malloc(16*sizeof(POINT));

e.         答:...

 

2.

#include <stdio.h>


bool IsEven(int a)
{
if(a%2==0) return true;
return false;
}


int main()
{
int a;
scanf("%d",&a);
if(IsEven(a))
printf("Yes\n");
else
printf("No\n");
}


 

3.

#include <iostream.h>
#include <ctype.h>

void ParseString(char* pstr)
{
char c;
int a,i;
a=0,i=0;
//char pstr[50];
//cin>>pstr;
while(pstr[i]!='\0')
{
if(isalpha(pstr[i]))
{
c=pstr[i];
pstr[i]=pstr[a];
pstr[a]=c;
a++;
//cout<<c<<endl;
}
i++;
}
i--;
a=i;
while(i!=0)
{
if(!isalnum(pstr[i]))
{
c=pstr[i];
pstr[i]=pstr[a];
pstr[a]=c;
a--;
}
i--;
}
//cout<<pstr<<endl;
}



int main()
{
char s[100];
cin>>s;
ParseString(s);
cout<<s<<endl;

}

4.

#include <stdio.h>


void ParseInt(int pint)
{
int sum;
int b=pint%2;
pint=pint/2;
sum=1;
int a;
while(pint!=0)
{
a=pint%2;
if(a==b)
sum++;
else
{
printf("%d:%d\n",b,sum);
sum=1;
}
b=a;
pint=pint/2;
}
printf("1:1\n");
}

int main()
{
int a;
scanf("%d",&a);
ParseInt(a);
}

 

5.

#include <iostream.h>

class student
{
char name[12];
int year;
int month;
int day;
};

class operator>(student &s1,student &s2)
{
if(s1.year*365+s1.month*30+s1.day>s2.year*365+s2.month*30+s2.day)
return true;
else
return false;
}








int main()
{
student s1,s2;
cin>>s1.name>>s1.year>>s1.month>>s1.day;
cin>>s2.name>>s2.year>>s2.month>>s2.day;
if(s1>s2) cout<<"s1>s2"<<endl;

}

 

6

没时间,没做~

 

 

 

阅读(4982) | 评论(8)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册