当前所在位置:珠峰网资料 >> 计算机 >> 软件水平 >> 正文
2015年计算机软件水平程序员笔试考前练习精选(8)
发布时间:2012/11/4 15:14:05 来源:城市网学院 编辑:admin

   #include
    #include
    fun(char *w,int n)
    {
    char t,*sl,*s2;
    s1=w;
    s2=w+n-1;
    while (s1  {
    t=*s1++
    *s1=*s2--
    *s2=t;
    }
    }
    main()
    {
    char *p;
    p=“1234567”;
    fun (p,strlen(p));
    puts(p);
    }
    答案:1711717
    examda提示: 主要是认清楚S1=? S2=? 首先 S1=W,这S1存的是字符串W的首地址,而S2=W+N-1=P+7-1 OK,也就是W中最后一个字符的地址·

   阅读下列函数说明和C函数,将应填入__(n)__处的字句写在答题纸的对应栏内。
    [函数1.1说明]
    函数palindrome(chars[])的功能是:判断字符串s是否为回文字符串,若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,称该字符串是回文字符串,例如:“LEVEL”是回文字符串,而“LEVAL”不是。
    [函数1.1]
    int palindrome(char S[])
    { char *pi,*pj;
    pi=S;pj=s+strlen(S)-1:
    while ( pi  pi++; pj--;
    }
    if(__ (2)__)return-1;
    else return 0;
    }
    [函数1.2说明]
    函数f(char *str,char del)的功能是;将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。
    例如若str的值为“33123333435”,del的值为‘3’,调用此函数后,将输出三个子字符串,分别为“12”、“4”和“5”。
    [函数1.2]
    void f(char*str,char del)
    { int i,j,len;
    len = strlen(str);
    i = 0;
    while (i  while (__(3)__) i++;    /*忽略连续的标志字符*/
    /*寻找从str开始直到标志字符出现的一个子字符串*/
    j = i + 1;
    while (str[j] !=del && str[j] !='\0‘) j++;
    __ (4)__=“\0”;         /*给找到的字符序列置字符串结束标志*/
    printf(“ %s\t”,&str): '
    __ (5)__;
    }
    }
    答案:
    (1)*pi == *pj
    (2)pi  (3)str== del
    (4)str[j]
    (5) i = j+1
    examda提示: 首先看第一题 条件:pi=S;pj=s+strlen(S)-1:pi就是首地址啦,pj就是末地址啦,我们需要把第一个和最后一个比较,第二和倒二比···…OK,那while ( pi  第二题,有注释哦·不懂就提出来·不过偶想大家都会滴· 

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved