请编写一个函数char MaxCharacmr(char *str),该函数返回参数str所指向的字符串中具有最大ASCII码的那个字符(如字符串“world”中字符‘w’具有最大的ASCII码)。当str所指向的字符串为空时,则返回空字符0x0或‘\0’。输出结果如下:Good Morning!Max char:r注意:部分源程序已存在文件test15_2.cpp中。请勿修改主函数main和其他函数中的任何内容,仅在函数MaxCharacter的花括号中填写若干语句。文件test15_2.cpp的内容如

题目

请编写一个函数char MaxCharacmr(char *str),该函数返回参数str所指向的字符串中具有最大ASCII码的那个字符(如字符串“world”中字符‘w’具有最大的ASCII码)。当str所指向的字符串为空时,则返回空字符0x0或‘\0’。

输出结果如下:

Good Morning!

Max char:r

注意:部分源程序已存在文件test15_2.cpp中。

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

文件test15_2.cpp的内容如下:

include<iostream.h>

include<string.h>

char MaxCharacter(char *str);

void main()

{

char str[100];

strcpy(str,"Good Morning!");

char maxc=MaxCharacter(str);

cout<<str<<endl;

cout<<"Max char:"<<maxc<<endl;

}

char MaxCharacter(char*str)

{

}


相似考题
更多“请编写一个函数char MaxCharacmr(char *str),该函数返回参数str所指向的字符串中具有最大ASCII码 ”相关问题
  • 第1题:

    请补充函数fun,该函数的功能是比较字符串str1和str2的大小,井返回比较的结果。

    例如: 当str1=“cdef",str2=“cde”时,函数fun()返回“>”。

    注意:部分源程序给出如下。

    请勿改动主函数main 和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

    试题程序:

    include< stdio, h>

    include<conio. h>

    define N 80

    char *fun (char *str1,char *str2)

    {

    char *p1=str1, *p2=str2;

    while (*p1 & & *p2 )

    {

    if (【 】)

    return "<";

    if(【 】)

    return ">";

    p1++;

    p2++;

    }

    if (*p1=*p2)

    return "==";

    if (*p1==【 】)

    return "<";

    else

    return ">";

    }

    main()

    {

    char str1 [N], str2 [N];

    clrscr ();

    printf ("Input str1: \n");

    gets (str1);

    printf ("Input str2: \n");

    gets (str2);

    printf ("\n*****the result*****\n");

    printf ("\nstr1 %s str2", fun (str1, str2) );

    }


    正确答案:*p1*p2 *p1>*p2 \0’
    *p1*p2 *p1>*p2 \0’ 解析:第一空:比较两个字符串的大小,是从第一个字符开始比较,如果两字符不相等,则由字符的大小决定字符串 P2指向字符串str2,如果p1所指的字符小于p2所指的字符,则字符串str1小于字符串str2。第三空:如果p1所指的字符大于p2所指的字符,则字符串str1 大于字符串str2。第三空:如果str1是str2 的前一部分,则str1 的所有字符都等于str2 中的对应字符,而字符串结束标记符‘\0’小于其他字符,所以,这里如果p1所指的字符等于‘\0’,则表示字符串str1小于字符串str2。

  • 第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题:

    【判断题】函数返回值是指针类型的函数为指针函数,以下是一个指针函数的原型。 char *strcat(char *str1,char *str2)

    A.Y.是

    B.N.否


    正确

  • 第4题:

    请补充函数fun(),该函数的功能是判断一个数是否为回文数。当字符串是回文时,函数返回字符申:yes!,否则函数返回字符串:no!,并在主函数中输出。所谓回文即正向与反向的拼写都一样,例如:abcba。

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

    试题程序:

    include<string.h>

    include<stdio.h>

    char *fun(char*str)

    {

    char *p1,*p2;

    int i, t=0;

    p1=str;p2=str+strlen(str)-1;

    for (i=0;【 】;i++)

    if(【 】)

    {

    t=1;

    break;

    }

    if (【 】)

    return("yes!");

    else

    return("no!");

    }

    main()

    {

    char str[50];

    printf("Input;");

    scanf("%s",str);

    printf("%s\n",fun(str));

    }


    正确答案:i=strlen(sb)/2或istrlen(sw)/2 *p1++!=*p2-- t==20
    i=strlen(sb)/2或istrlen(sw)/2 *p1++!=*p2-- t==20 解析:第一空:判断回文数就是将第一个字符与最后—个字符比较,第二个字符与倒数第二个字符进行比较,依此类推,直到中间的字符,如果比较的结果都是相同,则这个字符串就是回文数,否则不是。所以比较的次数是strlen(str)/2。第二空:指针p1从第一个字符向后移动,指针p2从最后一个字符向前移动,如果两字符不相同,则说明此字符串不是回文数,将标记变量t置为1。第三空:变量t用来标记此字符串是否为回文数,当t为0时,表示字符串是回文数,当t为1时,表示字符串不是回文数。

  • 第5题:

    mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回,请填空。int mystrlen(char *str) { int i; for(i=0;;i++); return(i); }


    正确答案:*(str+i)!=‘\0’或*(str+i)
    在本题中,题目告诉我们,mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。要求取一个字符串的长度,其中最关键的因素是如何判断字符串是否结束,然后就可以用循环逐个字符进行计算,获得最后的字符串长度。
    在程序中,函数mystrlen带了一个指针类型的形参变量str,该指针变量指向字符串的起始位置,通过该指针完成对字符串的计算,接着定义一个整型变量i作为循环变量,在循环结构for语句中,给出了循环变量的初始值和循环变量值改变的方式,但缺少循环结束的判断条件,这就是该题需要完成的空。通过前面的分析我们知道,循环用来求取字符串的长度,如果循环结束,字符串中所有的字符应该都被取,即字符串结束,由于字符串结束的标识符是‘\0’,因此,循环结束的判断条件应该为所取的字符为结束标识符,因此,循环结束的判断条件应该为*(str+i)!=‘\0’。另外,又由于字符结束标识符对应的值为0,即为假,因此,可以用来作为循环结束的条件,因此,本题的答案可以为*(str+i)!=‘\0’或*(str+i)。