2010-02-25 | 智乐软件(北京)C\C++笔试题 2月25日 一、写一个函数找一个字符串中出现频率最高的字符(若最高的相同,取先出现的)
二、写一个函数,将一个32位RGB像素的色值转为灰度,RGB转灰度的公式:Grey=.03*red+0.59*green+0.11*blue;RGB像素格式(左边最高位,右边最低位):00000000RRRRRRRRGGGGGGGGBBBBBBBB.
unsigned int ToGrey(unsigned int rgb)
{ 请填 }
三、#define SQR(x)(x*x)
inline int sqr(const int x){return (x*x);}
在什么情况下执行结果不同?
四、这个函数的作用,指出其中有关函数参数类型的一个问题。
void foo(char*s,char*t)
{
while(*s++=*t++);
}
五、名词理解
placement new、ARM、GCC、Android 、singleton。
六、翻译
①关于多态;②关键词是:游戏、像素、帧频。
七、写出e的值
1.int e=(-1)&12345;
2.int e=0x4321>>4<<4;
3.char*mystr="";int e=sizeof(mystr);
4.int*a[6][3]; int e=a[5]-a[2];
5.int a=1,b=2;int*p1=&a,*p2=&b;p1=p2;int e=a;
6.int func(int i)
{
return i<10?i:func(i/10)+i%10;
}
int e=func(123456);
智乐北京c/c++工程师笔试
答案:2 悬赏:40 手机版
解决时间 2021-04-05 13:47
- 提问者网友:捧腹剧
- 2021-04-04 17:50
最佳答案
- 五星知识达人网友:夜余生
- 2021-04-04 19:04
char func(const char* s)
{
if(!s) //凡是字符串的操作,先判空
return NULL;
if(!*s) //再判首字符
reurn NULL;
//接下来才是主要代码。上面两步没有,考官直接将你pass
char ch,*p=s; //定义标记字符ch、和外层循环指针*p
int max=0; //定义最大次数标记
while(*p++)
{
int count=1; //每次统计时,初值为1
char* cmp;
for(cmp=s;cmp!=p;cmp++) //统计从首字符到当前字符之间出现的当前字符个数
if(*cmp==*p)
count++;
if(count>max) //超过max则更新ch
ch=*p;
}
return ch;
}
//算法思想:将当前字符*p与之前出现的所有字符比较,统计出现次数count。若超过之前统计的最大次数,则更新标记的字符ch为当前字符
{
if(!s) //凡是字符串的操作,先判空
return NULL;
if(!*s) //再判首字符
reurn NULL;
//接下来才是主要代码。上面两步没有,考官直接将你pass
char ch,*p=s; //定义标记字符ch、和外层循环指针*p
int max=0; //定义最大次数标记
while(*p++)
{
int count=1; //每次统计时,初值为1
char* cmp;
for(cmp=s;cmp!=p;cmp++) //统计从首字符到当前字符之间出现的当前字符个数
if(*cmp==*p)
count++;
if(count>max) //超过max则更新ch
ch=*p;
}
return ch;
}
//算法思想:将当前字符*p与之前出现的所有字符比较,统计出现次数count。若超过之前统计的最大次数,则更新标记的字符ch为当前字符
全部回答
- 1楼网友:山有枢
- 2021-04-04 19:51
只做了第一题,一个字母a-z字符的,太麻烦了。
#include "stdlib.h"
#include "stdio.h"
char str(char *s)
{
char *p;
int i[26]={0},j;
char m;
int n=0;
char c;
p=s;
while (*p!=0)
{
if((*p>='a')&& (*p<='z'))
{
switch (*p)
{
case 'a': i[0]++; break;
case 'b': i[1]++;break;
case 'c': i[2]++;break;
case 'd': i[3]++;break;
case 'e': i[4]++;break;
case 'f': i[5]++;break;
case 'g': i[6]++;break;
case 'h': i[7]++;break;
case 'i': i[8]++;break;
case 'j': i[9]++;break;
case 'k': i[10]++;break;
case 'l': i[11]++;break;
case 'm': i[12]++;break;
case 'n': i[13]++;break;
case 'o': i[14]++;break;
case 'p': i[15]++;break;
case 'q': i[16]++;break;
case 'r': i[17]++;break;
case 's': i[18]++;break;
case 't': i[19]++;break;
case 'u': i[20]++;break;
case 'v': i[21]++;break;
case 'w': i[22]++;break;
case 'x': i[23]++;break;
case 'y': i[24]++;break;
case 'z': i[25]++;break;
}
}
*p++;
}
for(j=0;j<26;j++)
{
if (i[j]>n)
{
n=i[j];
c='a'+j;
}
}
return c;
}
main()
{
char *a="aaabbbbcccccaa";
char c;
c=str(a);
printf("%c",c);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯