几道有关字符串处理的编程题(华硕,盛大招聘笔试题)
2011-11-07 21:23
232 查看
华硕2011校园招聘:
将一字符串中的字符变为其前一个字符:如:zx11r@->aw11q@
#include<iostream>
#include<assert.h>
using namespace std;
void conventstr(char* src,char* dest)
{
assert(src!=NULL);
int length=strlen(src)+1;/*注意,取值先在开头进行处理,并且做好原数据的备份,以防以后用到但原值已经改变*/
char* temp=src;
while(*src!='\0')
{
if(*src>'a' && *src<='z'|| *src>'A' && *src<='Z')
{
*src=*src-1;
}
if(*src=='a')
{
*src='z';
}
if(*src=='A')
{
*src='Z';
}
*dest++=*src++;/*方法1:类似mystrcpy函数的实现,但注意最后添0操作*/
}
}
盛大游戏2011校园招聘:
简答题:快速排序的思想是递归的,但是它的平均效率却是众多排序算法中最快的,为什么?请结合本例说明你对递归程序的理解。
算法题:用你熟悉的编程语言,设计如下功能的函数:输入一个字符串,输出该字符串中所有字母的全排列。程序请适当添加注释。
C++函数原型: void Print(const char *str)
输入样例: abc
输出结果: abc、acb、bca、bac、cab、cba
局限:::程序无法实现4或者更多位的字符串全排列,
#include <iostream>
using namespace std;
void Print(char* str)
{
static char a=1;//保留原str首字符,作为递归结束判断标准;
static int flag=1;
if(flag==1)
{
a=*str;
flag++;
}
cout<<str<<endl;
char* temp=str;
char p;
int length=strlen(str);
int begin=1;
while(begin<length)//start swap
{
p=temp[begin];
temp[begin]=temp[length-1];
temp[length-1]=p;
begin++;
length--;
}
cout<<temp<<endl;
p=temp[0];//调整字符串首位字符;
temp[0]=temp[1];
temp[1]=p;
if(temp[0]==a)//判断是否要继续递归;
{
return ;
}
else
{
Print(temp);
}
}
int main()
{
char a[]="zxt";
Print(a);
return 1;
}
另龙旗,C经典笔试题中各有关字符串处理将逐一整理 fmoonstar更新至11.7
将一字符串中的字符变为其前一个字符:如:zx11r@->aw11q@
#include<iostream>
#include<assert.h>
using namespace std;
void conventstr(char* src,char* dest)
{
assert(src!=NULL);
int length=strlen(src)+1;/*注意,取值先在开头进行处理,并且做好原数据的备份,以防以后用到但原值已经改变*/
char* temp=src;
while(*src!='\0')
{
if(*src>'a' && *src<='z'|| *src>'A' && *src<='Z')
{
*src=*src-1;
}
if(*src=='a')
{
*src='z';
}
if(*src=='A')
{
*src='Z';
}
*dest++=*src++;/*方法1:类似mystrcpy函数的实现,但注意最后添0操作*/
}
}
盛大游戏2011校园招聘:
简答题:快速排序的思想是递归的,但是它的平均效率却是众多排序算法中最快的,为什么?请结合本例说明你对递归程序的理解。
算法题:用你熟悉的编程语言,设计如下功能的函数:输入一个字符串,输出该字符串中所有字母的全排列。程序请适当添加注释。
C++函数原型: void Print(const char *str)
输入样例: abc
输出结果: abc、acb、bca、bac、cab、cba
局限:::程序无法实现4或者更多位的字符串全排列,
#include <iostream>
using namespace std;
void Print(char* str)
{
static char a=1;//保留原str首字符,作为递归结束判断标准;
static int flag=1;
if(flag==1)
{
a=*str;
flag++;
}
cout<<str<<endl;
char* temp=str;
char p;
int length=strlen(str);
int begin=1;
while(begin<length)//start swap
{
p=temp[begin];
temp[begin]=temp[length-1];
temp[length-1]=p;
begin++;
length--;
}
cout<<temp<<endl;
p=temp[0];//调整字符串首位字符;
temp[0]=temp[1];
temp[1]=p;
if(temp[0]==a)//判断是否要继续递归;
{
return ;
}
else
{
Print(temp);
}
}
int main()
{
char a[]="zxt";
Print(a);
return 1;
}
另龙旗,C经典笔试题中各有关字符串处理将逐一整理 fmoonstar更新至11.7
相关文章推荐
- 校园招聘笔试之编程----字符串
- 华为2013校园招聘上机笔试题 ---2 字符串处理转换
- [Windows编程] SHLWAPI 和 CRT (C Runtime) 字符串处理函数的区别
- windows编程中字符和字符串的处理
- 字符串处理算法(四)现在一个给定字符串中寻找子串的功能(不能使用库函数)[2014百度笔试题]
- 有一字符串,包含数字与字母,编程去除数字。要求: //要求在原字符串中操作 //使用指针处理
- 一步一步学编程之字符串处理函数(一)
- WINDOWS核心编程学习笔记--字符串处理
- 聊聊这个与代码优化有关的选择题 (某公司实习生招聘笔试试题)
- 阿里巴巴2014.08.29校园招聘笔试题---找出两个字符串中连续相同的最大子串
- [Windows编程] SHLWAPI 和 CRT (C Runtime) 字符串处理函数的区别
- Python语言总结 4.2. 和字符串(str,unicode等)处理有关的函数
- 2017网易游戏雷火盘古实习生招聘笔试真题:字符串编码 [python]
- 有一字符串,包含数字与字母,编程去除数字。(1、要求在原字符串中操作,2、使用指针处理)
- 3. 串的处理 在实际的开发工作中,对字符串的处理是最常见的编程任务。 本题目即是要求程序对用户输入的串进行处理。具体规则如下: 1. 把每个单词的首字母变为大写。 2. 把数字与
- 2017微软秋季校园招聘在线编程笔试 Composition (DP)
- 关于多线程编程您不知道的 5 件事 有关高性能线程处理的微妙之处
- python中有关字符串的处理
- 翻译《有关编程、重构及其他的终极问题?》——23.自动获取字符串的长度
- 一些简单的有关字符串处理函数