华为odjava机试题_华为机试题及答案

华为机试题及答案

1

、通过键盘输入任意一个字符串序列,字符串可能包含多个子串,子串以空格

分隔。请编写一个程序,自动分离出各个子串,并使用

’,’

将其分隔,并且在最后

也补充一个

’,’

并将子串存储。

测试:输入:

“abc def gh i

d”

输出:

“abc,def,gh,i,d,”

#include

#include

void DivideString(const char *pInputStr, long lInputLen, char *pOutputStr)

{

int i=0,j=0;

int flag=0;

while(pInputStr[i]== )

{

i++;

}

for(;i

{

if(pInputStr[i]== )

{

flag=1;

continue;

}

if(flag==1)

{

flag=0;

pOutputStr[j++]=,;

}

pOutputStr[j++]=pInputStr[i];

}

pOutputStr[j++]=,;

pOutputStr[j]=;

}

int main()

{

char test[40];

char re[40];

gets(test);

DivideString(test, strlen(test), re);

printf("%s",re);

return 0;

}

2

、将输入的字符串(字符串仅包含小写字母

‘a’

‘z’

)

,按照如下规则,循环转换

华为机试题及答案 1 、通过键盘输入任意一个字符串序列,字符串可能包含多个子串,子串以空格 分隔。请编写一个程序,自动分离出各个子串,并使用 ’,’ 将其分隔,并且在最后 也补充一个 ’,’ 并将子串存储。 测试:输入: “abc def gh i d” 输出: “abc,def,gh,i,d,” #include #include void DivideString(const char *pInputStr, long lInputLen, char *pOutputStr) { int i=0,j=0; int flag=0; while(pInputStr[i]== ) { i++; } for(;i { if(pInputStr[i]== ) { flag=1; continue; } if(flag==1) { flag=0; pOutputStr[j++]=,; } pOutputStr[j++]=pInputStr[i]; } pOutputStr[j++]=,; pOutputStr[j]=; } int main() { char test[40]; char re[40]; gets(test); DivideString(test, strlen(test), re); printf("%s",re); return 0; } 2 、将输入的字符串(字符串仅包含小写字母 ‘a’ 到 ‘z’ ) ,按照如下规则,循环转换
经验分享 程序员 微信小程序 职场和发展