2014华为实习生招聘机试题
由于本人只做出两道题,第三题没来得及细看,所以只列出前两道题目及其解法(C语言),仅供参考。
1、输入一个字符串(由小写字母组成,长度不超过1000),输出为对应的数字字符串。(60分)
样例:
输入:yiersansi
输出:1234
#include<stdio.h>
int main()
{
charstr[1000]={"0"},s[100]={"0"};
char*p=str,*q=s;
scanf("%s",str);
while(*p!='\0')
{
if('y'==*p)
{
*q='1';
q++;
p+=2;
}
else
if('e'==*p)
{
*q='2';
q++;
p+=2;
}
else
if('s'==*p)
{
p+=1;
if('a'==*p)
{
*q='3';
q++;
p+=2;
}
else
{
*q='4';
q++;
p+=1;
}
}
else
if('w'==*p)
{
*q='5';
q++;
p+=2;
}
else
if('l'==*p)
{
*q='6';
q++;
p+=3;
}
else
if('q'==*p)
{
*q='7';
q++;
p+=2;
}
else
if('b'==*p)
{
*q='8';
q++;
p+=2;
}
else
if('j'==*p)
{
*q='9';
q++;
p+=3;
}
}
*q='\0';
printf("%s",s);
return0;
}