- 论坛徽章:
- 0
|
第二道题贴上我的程序吧,已调试通过的,我知道在大牛眼里不屑一顾,但我刚工作时得到很多不认识的人的帮助,现在还常怀感激,我也深知对一些人很简单的问题,在另一些人那里则很困难,因为我也是从那个阶段过来的。
#include <stdio.h>
#include <string.h>
int nCharHash[26];
int FindOnceChar( char *strsrc,char &c,int &ipos)
{
int nLen = strlen(strsrc);
int i;
for ( i = 0;i < nLen;i++)
{
nCharHash[strsrc[i]-'a']++;
}
for ( i = 0;i < nLen;i++)
{
if ( 1 == nCharHash[strsrc[i]-'a'] )
{
c = strsrc[i];
ipos = i;
break;
}
}
if ( i == nLen)
{
return -1;
}
return 0;
}
int main()
{
char *testchar = "abcdabce";
char c;
int nPos;
int nRet;
nRet = FindOnceChar(testchar,c,nPos);
if ( 0 == nRet )
{
printf( "The char Which placed only once is %c,the position is %d\n",c,nPos);
}
return 0;
}
第一道题大家不必再费脑筋了,因为我没有做过嵌入式开发,我还以为是后台的无限循环程序可以处理中断的,没想到看到答案真让我大跌眼镜,这家公司看来我也不必去了。 |
|