写一函数int fun(char *p)判断一字符串是否为回文,是返回1,不是返回0,出错返回-1

题目

写一函数int fun(char *p)判断一字符串是否为回文,是返回1,不是返回0,出错返回-1


相似考题
更多“写一函数int fun(char *p)判断一字符串是否为回文,是返回1,不是返回0,出错返回-1 ”相关问题
  • 第1题:

    函数check()用来判断字符串s是否是“回文”(顺读和倒读都一样的字符串称为“回文”,如abcba)。若是回文,函数返回值为1;否则返回值为0。请完成此函数的定义。

    注意:部分源程序已存在考生文件夹的文件PROC7.cpp中。

    请勿修改主函数和其他函数中的任何内容,仅在函数check()的花括号中填写若干语句。

    文件PROC7.cpp的内容如下:

    //PROC7.cpp

    include<iostream>

    include<string>

    using namespace std;

    int check(char*s);

    int main()

    {

    char str[100],*p;

    cout<<"Input your string!";

    cin>>str;

    p=str;

    cout<<"The result is:"<<check(p)<<end1;

    }

    int check(char*s)

    {

    // * * * * + * * *

    }


    正确答案:

  • 第2题:

    以下函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址,例如,str所指字符串为Hello!,c中的字符为e,则函数返回字符串ello!的首地址。若str所指字符串为空或不包含c中的字符,则函数返回NULL,请填空。char *fun(char *str,char c){ int n=0; char *p=str; if(p!=NULL) while(p[n]!=c&&p[n]!=’\0’) n++; if(p[n]==’\0’) return NULL; return();}


    正确答案:p+n
    在本题中,函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址。
    在本题的程序中,fun函数带有两个形参,其中一个是指针str,它指向字符串的首地址,另一个是字符变量c。程序首先定义了一个整型变量n,从程序中可知,它是字符串str中参数c相对于首地址的偏移量,然后定义了一个指针变量p,指向字符串str的首地址,然后执行条件语句,如果字符串不为空,则执行循环语句,循环结束的条件是要么字符串结束,要么找到形参c中对应的字符。根据循环结束的条件我们可以判断,其非死循环,循环结束后,从程序中可以看出,判断循环结束的原因是否因为字符串结束而结束的,如果是,说明没找到形参c中对应的字符,返回NULL。
    如果不是,则说明是因为找到了形参c中对应的字符而结束循环的。根据题目要求,需要返回以形参c中字符开头的后续字符串的首地址,而这时以形参c中字符开头的后续字符串的首地址为p+n。

  • 第3题:

    2、编一函数,功能为判断一字符串是否为回文,如果是回文则返回1,否则返回0。回文是指顺读和倒读都一样的字符串,如“deed”和“level”是回文。在主函数中对输入的字符串加以调用。 函数形式为:int huiwen(char s[])


    ITOA

  • 第4题:

    给定程序中,函数fun的功能是:判断形参s所指字符串是否是”回文”(Palindrome),若是,函数返回值为1;不是,函数返回值为0。”回文”是正读和反读都一样的字符串:不区分大小写字母)。

    例如,LEVEL和Level是”回文”,而LEVLEV不是”回文”。

    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

    注意:源程序存放在考生文件夹下的BLANK.1.C中。

    不得增行或删行,也不得更改程序的结构!


    正确答案:(1)s (2)-- (3)return O
    (1)s (2)-- (3)return O 解析:函数fun的功能是:判断形参s所指字符串是否是”回文”,即比较第一个字符和最后一个字符是否相同,第二个字符和倒数第二个字符是否相同,依此类推,可以用循环来实现。

  • 第5题:

    试题3

    本程序中,函数fun的功能是判断字符串是否是回文,若是回文,则返回1,主函数中输出YES;否则,函数返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。例如,字符串LEVEL是回文,而123312就不是回文。请在函数fun的花括号中填入你编写的若干语句。(注意:不改动程序的结构,不得增行或删行。)

    #include <stdio.h>

    #define N 80

    int fun ( char *str)

    {

    }

    main()

    { char s[N];

    printf(“Enter a string : ”) ;

    gets (s) ;

    printf(“\n\n”) ;

    puts (s) ;

    if (fun (s))

    printf (“YES\n”) ;

    else

    printf (“N0\n”) ;

    nono ();

    }

    nono ()

    {/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件.*/

    int i;

    FILE *rf, *wf ;

    char s[N] ;

    rf = fopen (“bc.in”,“r”) ;

    wf = fopen (“bc.out”,“w”) ;

    for ( i=0; i<10; i++ )

    { fscanf (rf, “%s”,s ) ;

    if (fun ( s ))

    fprintf (wf, “%s YES\n”, s ) ;

    Else

    fprintf(wf, “%s NO\n”, s ) ;

    }

    fclose (rf) ;

    fclose (wf) ;

    }


    正确答案:
    试题3分析
    **********************
    本题中函数的功能是判断字符串是否是回文,若是回文,则返回1;否则,函数返回0。
    要判断字符串是否是回文,我们可以将首尾两边字符进行比较,如果想等,则是回文,如果有不等的情况,说明不是回文;
    试题3答案
    *************************
    完整的fun函数如下。
    int  fun ( char  *str )
      { int  i,j,k;
        j=strlen (str);
        k=1;
        for (i=0;i<j/2-1;i++)
          if(* (str+i) != * (str+j-i-1))
            { k=0;
             break;
            }
         return (k) ;
       }