测试之道、

测试问题汇总

上一篇 / 下一篇  2008-08-28 17:45:39 / 个人分类:测试问题汇总

一、 c笔试题 (字符串反转)

     我没有记错的话是一道MSN的笔试题,网上无意中看到的,拿来做了一下。题目是这样的,给定一个字符串,一个这个字符串的子串,将第一个字符串反转,但保留子串的顺序不变。例如:
输入:
第一个字符串: "This is zhuxinquan's Chinese site: http://www.zhuxinquan.com/cn"
子串:
"zhuxinquan"
输出: "nc/moc.zhuxinquan.www//:ptth :etis esenihC s'zhuxinquan si
sihT"
一般的方法是先扫描一边第一个字符串,然后用stack把它反转,同时记录下子串出现的位置。然后再扫描一遍把记录下来的子串再用stack反转。我用的方法是用一遍扫描数组的方法。扫描中如果发现子串,就将子串倒过来压入堆栈。
最后再将堆栈里的字符弹出,这样子串又恢复了原来的顺序。源代码如下:

#include <iostream>
#include <cassert>
#include <stack>
using namespace std;
//reverse the string 's1' except the substring 'token'.
const char* reverse(const char* s1, const char* token)
{
assert(s1 && token);
stack<char> stack1;
const char* ptoken = token, *head = s1, *rear = s1;
while (*head != '\0')
{
while(*head!= '\0' && *ptoken == *head)
{
ptoken++;
head++;
}
if(*ptoken == '\0')//contain the token
{
const char* p;
for(p=head-1;p>=rear;p--)
stack1.push(*p);

ptoken = token;
rear = head;
}
else
{
stack1.push(*rear);
head=++rear;
ptoken = token;
}
}
char * return_v = new char[strlen(s1)+1];
int i=0;
while(!stack1.empty())
{
return_v[i++] = stack1.top();
stack1.pop();
}
return_v[i]='\0';
return return_v;
}
int main(int argc, char* argv[])
{

cout<<"This is zhuxinquan's Chinese site: http://www.zhuxinquan.com/cn\n";
cout<<reverse("This is zhuxinquan's Chinese site: http://www.zhuxinquan.com/cn","zhuxinquan");
return 0;
}

 

二、LoadRunner怎样让众多用户同时登陆

      数据库中虚拟用户,用虚拟的用户登陆就可以了.

 

三、Unix 中的常用命令

    1、od 按八进制转储文件;

     2、pack 压缩文件;

     3、passwd 改变口令;

     4、paste 文件合并;

     5、pax 可移植档案管理程序;

     6、pcat 显示压缩格式文件;

     7、pg 分屏显示;

     8、pr 按打印格式显示文件;

     9、pstat 报告系统信息;

  

四、 小于一万的含有一的正整数个数? 

     public static void main(String[] args) {
             int j=0;
             for (Integer i = 0; i < 10000; i++) {
                 if(i.toString().indexOf("1")!=-1){
                     System.out.print("-"+i);
                     j++;
                     if(i%20==0){
                         System.out.println();
                     }
                 }
             }
             System.out.println("  J: "+j);
     }

 

五、软件的生命周期,软件测试的生命周期分别是什么?

 

六、有两个砝码,一个7克、一个2克,还有一天平,现在有140克的盐,可以把它分成50克和90克???(有想法的,请回复,谢谢!!!)

 


 


TAG: 测试问题汇总

引用 删除 aiqiong   /   2009-05-04 20:55:57
把两个砝码都放在一边,就等于9克,称10次就是90克了 ,剩下的就是50克了。
独角兽妹妹的测试之路 引用 删除 独角兽妹妹   /   2008-12-26 11:36:50
先称一个2克,再把这两克分成两份,放在天平的左右两边,当平衡时,就是两个1克。
称7份7克的。把7份7克的和一份1克的合在一起就是50克。剩下的就是90了。
也可以把140分成很多份来做。方法的原理一样。至少步骤不一样而已。
 

评分:0

我来说两句

Open Toolbar