2015IBM上海的一道笔试题

描述:输入一个字符串("abc$rr$asdsakk$"),和一个分隔符("$"),进行字符串分割,反正就是实现split(题目好像就是这样,时间太久记得不太清楚了)。

void _c_split(const char* _src, const char* _delimiter, char** _dest)

{

  assert( _src!=NULL && _delimiter!=NULL && _dest!=NULL );

  int srcLen = strlen(_src), deLen = strlen(_delimiter);

  if ( srcLen==0 || deLen==0 )

    return;

  char* start = _src, *end;

  while ( ture )

  {

    end = strstr(start,_delimiter);

    if ( end!=NULL )

    {

      memset(end, ‘\0‘ , deLen);

      *_dest++ = start;

      end = end+deLen;

      start = end;  

    }

    else

    {

      *_dest = start;

      break;

    }

  }

}

时间: 2024-12-20 05:50:26

2015IBM上海的一道笔试题的相关文章

Java中有关构造函数的一道笔试题解析

Java中有关构造函数的一道笔试题解析 1.具体题目如下 下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 2.解析说明 (1)class中的构造函数是可以省略的 /** * @Title:User.java * @Package:com.you.user.model * @Descrip

0810------笔试题----------腾讯2012年的一道笔试题

1.题目要求 a)b[i] = a[0] *a[1] *a[2]*….a[n-1]/ a[i],求出数组b: b)要求不能用除法,除循环控制变量以外,不许额外申请其余变量,时间复杂度为O(n),空间复杂度为O(1). 2.程序思路 a)假设 N = 5,那么 b[0] =      a[1]*a[2]*a[3]*a[4];            b[1] = a[0]*     a[2]*a[3]*a[4];            b[2] = a[0]*a[1]*     a[3]*a[4];

关于阿里的一道笔试题分析

其题目如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #pragma pack(2) class A { public:     int i;     union U     {         char buff[13];         int i;     }u;     void foo() {    }     typedef char* (*f)(void*);     enum{red, green, blue} color; }a; class A

好玩的一道笔试题

/*实现函数: void f(int a, int b, int c) 编码中不允许出现燃和if,switch,for,while之类的关键词以及"?:"表达式,并要求: a=1时,打印b+c的值: a=2时,打印b-c的值: a=3时,打印b*c的值: a=4时,打印b/c的值. */ 下面是我的解答,哈哈: #include <iostream> int cal(int a,int b, int c){ int res = 0; (!(a^1) && (

送上今年微软的一道笔试题

这里送上一道微软的笔试题,具体题目如下: Time Limit: 10000msCase Time Limit: 1000msMemory Limit: 256MB Description Consider a string set that each of them consists of {0, 1} only. All strings in the set have the same number of 0s and 1s. Write a program to find and outp

给定一个数值,输出符合中国人习惯的读法--记一道笔试题

题目:给定一个数字,最大小于一万亿,输出符合中国人习惯的读法,例如: a.12输出:十二 b.102输出:一百零二 c.1002输出:一千零二 d.112输出:一百十二 e.10112输出:一万零一百十二 f.120000000:一亿二千万 g.11021002:一千一百零二万一千零二 h.11020102:一千一百零二万零一百零二 i.1000001:一百万零一 j.1000000001:十亿零一 嗯,一道笔试题,解的很没有节操,没有太好的思路,只能尽力抽取翻译过程中的共有代码,尽量写的不那么

一道笔试题来理顺Java中的值传递和引用传递

前段时间参加了一场面试,其中有一道引用传递的题,因为当时并没有考虑清楚所以做错了. 现在来复盘一下,题目如下: private static void change(StringBuffer str11, StringBuffer str12) { str12 = str11; str11 = new StringBuffer("new world"); str12.append("new world");} public static void main(Stri

js原型链的一些发现----来自一道笔试题

1.开篇 1.1本文目标 这是我真正意义上的博客,一是想记录下自己学到的东西,二是想写博客也是对自己的一种历练,自己的一次新的尝试. 废话不多说,说下这次写这篇东东的原因.js的原型链是让我很头疼的事情,每次碰到一些相关的题目和代码都让我有点不知所措.最近的一次笔试碰到了一道相关的题目,不出所料,没有答出来.回来对此钻研一通,不断地查资料测试代码,终于有了点收获,正好最近开始玩博客,所以写了这篇记录. PS:我基础并不好,所以这篇文章可能不会是那种大牛级的专业博客.如果有幸让大神们看到这篇文章,

C++构造、析构、继承、多态--一道笔试题都考到了

#include <stdio.h> class A { A() { printf("A constrution.\n"); } ~A() { printf("A deconstrution.\n"); } void funA(); virtual void funB(); }; void A::funA() { printf("A::funA ...\n"); } void A::funB() { printf("A::f