文思創(chuàng )新赴微軟測試工程師的軟件測試筆試和軟件測試面試題
今天下午學(xué)員參加了一次文思創(chuàng )新赴微軟測試工程師的筆試和面試.微軟面試向來(lái)都很怪異.今天給我的這位學(xué)員出了這樣的面試題:
1.現在共有三個(gè)人,你設計一個(gè)方案,把大象放到冰箱里面.該如何設計呢?
2.如果現在讓你去非洲旅行,你應該準備那些物品呢?
這樣的問(wèn)題,回答起來(lái)都是很發(fā)散的.沒(méi)有什么標準答案,感興趣的話(huà),好好想想.
下面跟大家分享的是一道C語(yǔ)言的筆試題.
用C語(yǔ)言寫(xiě)一個(gè)函數,完成的功能如下:
清除掉圓括號()里面的字符,但是保留方括號[]里面的字符
前提條件:輸入的字符串中括號成對出現
例如:
abc(de[fg]hmw)z
經(jīng)過(guò)函數后最后的結果是abcfgaz
這個(gè)題目學(xué)員過(guò)來(lái)問(wèn)我,用了大概30分鐘左右的時(shí)間寫(xiě)了出來(lái),給大家分享一下:*/
#include<stdio.h>
#include<string.h>
//TestCharacter()函數完成的功能是清除掉圓括號里面的字符,但是保留方括號里面的字符
//abc(de[fg]hmw)z經(jīng)過(guò)我們的TestCharacter()函數后最后的結果是abcfgz
//前提條件:輸入的字符串中括號成對出現
static char * TestCharacter(char *p)
{
static char d[50];
int flag=0;//當遇到'('時(shí)flag為1,當遇到')',flag為0;
int i=0;
for(;*p!='\0';p++)
{
if(*p=='(' ||*p==']')
{
if(*p=='(')
flag=1;
if(*p==']')
p++;
for(;*p!=')' && flag && *p!='\0';p++)
if(*p=='['|| *p==']')
break;
}
for(;*p=='[' || *p==']' || *p=='(' || *p==')';p++)
{
if(*p==')')
flag=0;
}
d=*p;
i++;
}
d=0;
return d;
}
void main(void)
{
char s[50];
gets(s);
strcpy(s,TestCharacter(s));
puts(s);
}
/*
你可以輸入下面的數據進(jìn)行測試:
預期結果
1.(a) a
2.(a) b
3.(a[bc]d)e bce
4.(ad)[e]f(g)h befh
上面的程序通過(guò)了測試,你可以試試.*/
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/