下面程序的功能是将字符串s中的字符c删除,请选择填空() #include <stdio.h> int main() {char s[80]; int i,j; gets(s); for(i=j=0;s[i]!='0';i++) if(s[i]!='c') ; s[j]='0'; puts(s); return 0; }A.s[j++]=s[i]B.s[++j]=s[i]C.s[i]=s[j]D.s[j]=s[i]

题目

下面程序的功能是将字符串s中的字符c删除,请选择填空() #include <stdio.h> int main() {char s[80]; int i,j; gets(s); for(i=j=0;s[i]!='0';i++) if(s[i]!='c') ; s[j]='0'; puts(s); return 0; }

A.s[j++]=s[i]

B.s[++j]=s[i]

C.s[i]=s[j]

D.s[j]=s[i]


相似考题
更多“下面程序的功能是将字符串s中的字符c删除,请选择填空() #include <stdio.h> int main() {char s[80]; int i,j; gets(s); for(i=j=0;s[i]!='0';i++) if(s[i]!='c') ; s[j]='0'; puts(s); return 0; }”相关问题
  • 第1题:

    下面程序的运行结果是()。includevoid del(char*s){int i,j;char *a;a=s;for(i=0,j=0;a

    下面程序的运行结果是( )。 #include<stdio.h> void del(char*s) { int i,j; char *a; a=s; for(i=0,j=0;a[i]!='\0';i++) { if(a[i]>='0'&&a[i]<='9') { s[j]=a[i]; j++; } s[j]='\0'; }} main() {char s[]="aa89gggh"; del(s); printf("\n%s",s); }

    A.aa

    B.89

    C.gggh

    D.aa89gggh


    正确答案:B
    解析:本题中del(char*s)函数实现的功能是:逐个读入s数组中的字符,如果遇到数字,则将其重新存在s中,遇到非数字字符则跳过。所以最后输出的应该是字符串s中的所有数字。

  • 第2题:

    有下列程序: include include "string.h" void tim(char *s[],int n)

    有下列程序: #include <stdio.h> #include "string.h" void tim(char *s[],int n) { char *t;int i,j; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]=s[j];s[j]=t;} } main() { char *ss[]= {"bcc","bbcc","xy","aaaacc","aabcc"}; fun(ss,5);printf("%s,%s\n",ss[0],ss[4]); } 程序的运行结果是( )。

    A.xy,aaaacc

    B.aaaacc,xy

    C.bcc,aabcc

    D.aabcc,bcc


    正确答案:A
    解析:从main函数入手,定义了指向字符串的指针数组,并赋予了初始值,调用fun()函数,函数的功能是:比较数组中各个元素的长度,按元素长度从小到大排列数组元素,所以执行fun(ss,5)函数后,*ss[]={"xy","bcc","bbcc","aabcc","aaaacc"},所以调用printf函数输出ss[0],ss[4]的值分别为xy,aaaacc。

  • 第3题:

    现在有如下程序

    #include "stdio.h"

    main()

    {char s[80];

    int i,j;

    gets(s);

    for(i=j=0;s[i]!=′\0′;i++)

    if(s[i]!=′H′______)

    s[j]=′\0′;

    puts(s);}

    这个程序段的功能是删除输入的字符串中字符′H′,则空线上应当添入的是

    A.s[j++]=s[i];j++;

    B.s[j]=s[i++];j++;

    C.s[j++]=s[i];

    D.s[j]=s[i];


    正确答案:C

  • 第4题:

    请补充函数fun(),该函数的功能是:把字符串str中的字符按字符的ASCⅡ码降序排列,处理后的字符串仍然保存在原串中,字符串及其长度作为函数参数传入。

    例如,如果输入“cdefgh”,则输出为“hgfedc”。

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

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

    试题程序:

    include <stdio.h>

    define N 80

    void fun (char s [], int n)

    {

    int i, j;

    char ch;

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

    for(j=【 】;j<n;j++)

    if (s[i]<s [j])

    {

    ch=s [j];

    【 】;

    s [i] =ch;

    }

    main ( )

    {

    int i=0, strlen=0;

    char str [N];

    clrscr ();

    printf ("\nInput a string: \n");

    gets (str);

    while (str [i] !=' \0')

    {

    strlen++;

    i++;

    }

    fun (str, strlen);

    printf ("\n***display string ***\n");

    puts (str);

    }


    正确答案:I s[j]=s[i]
    I s[j]=s[i] 解析:第一空:本题采用选择法进行排序。选择法的算法思路是:如果有n个数则从头到倒数的第2个数一个一个往后走动,每走动一个数总是将这个数与其后的所有数进行两两比较,在比较时按题目要求的顺序将进行比较的这两个数排序 (即交换)。理解了选择法的思路,则此空就非常简单了,应该填i。第二空:借助第三个变量交换两数的方法,非常重要也非常基础,必须要求掌握。

  • 第5题:

    有以下程序 include include void fun(char s[][10],int n

    有以下程序 #include <stdio.h> #include <string.h> void fun(char s[][10],int n) { char t; int i j; for (i=0; i<n-1; i++) for 0--i+l; j<n; j++) /*比较字符串的首字符大小,并交换字符串的首字符*/ if(s[i][0] > s[j][0]) { t = s[i][0]; s[i][0] = s[j][0]; s[j][0] = t;} } main() { char ss[5][10]= {"bcc", "bbcc", "xy", "aaaacc", "aabcc" }; fun(ss, 5); printf("%s,%s\n", ss[0],ss[4]); } 程序的运行结果是

    A.xy, aaaacc

    B.aaaacc,xy

    C.xcc,aabcc

    D.acc,xabcc


    正确答案:D
    解析:在函数fun()中有一个两层嵌套的for循环,外循环变量i从0递增到n-2,内循环变量i从i+1循环递增到n-1,这是选择排序算法的标准结构。循环体中因为逆序条件为“s[i][0]> s[j][0]”,所以实现的是升序排序。由此可见,fun()函数实现的功能是对一个二维字符数组前n行的首字符进行升序排序。主函数中定义的二维数组初始化为{"bcc",”bbcc", "xy","aaaacc","aabcc"},通过fun()函数的排序后,结果将为acc","abcc","by", "baaacc","xabcc"}。故最终输出字符串ss[0]和ss[4]的结果为acc,xabcc,应该选择D。

  • 第6题:

    有如下程序includevoid main( ){char ch[2][5]={"6937","8254"},*p[2];int i,j,s=0

    有如下程序 #include<iostream.h> void main( ) { char ch[2][5]={"6937","8254"},*p[2]; int i,j,s=0; for(i=0;i<2;i++)p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]>'\0';j+=2) s=10*s+p[i][j]-'0';

    A.69825

    B.63825

    C.6385

    D.693825


    正确答案:C
    解析:该题主要要搞清楚以下几点:
      ①定义了一个指针数组char*p[2]后,程序中第一个循环for(i=0;i2;i++)p[i]=ch[i];的作用是使指针数组的P[0]元素(它本身是一个指针)指向了二维数组ch的第一行字符串,并使指针数组的p[1]元素指向了二维数组ch的第二行字符串,这样,就使指针数组p和二维数组ch建立起了一种对应关系,以后对二维数组ch的某个元素的引用就有两种等价的形式: ch[i][j]或p[i][j]。②对二维数组ch的初始化,使其第一行ch[0]中存入了字符串“6937”,第二行ch[l]中的内容为字符串“8254”。③程序中第二个循环中的循环体s=s*10+p[i][j]-'0';的功能是这样的,每执行一次,将s中的值乘以10(也即,将s中的数值整体向左移动一位,并在空出来的个位上添一个o),再将当前P[i][j]中的字符量转换为相应的数字,然后把这个数字加到s的个位上。④注意到内层循环的循环条件
    p[i][j]>'\0'是指p[i][j]中的字符只要不是字符串结束标志'\0'就继续循环,语句j+=2;是使下标j每次增加2,也即一个隔一个地从p[i]所指向的字符串中取出字符。经过上述解析后,不难看出,该程序首先从p [0]所指向的字符串“6937”中一个隔一个地取出字符,分别是“6”和“3”,然后从p[1]所指向的字符串“8254”中一个隔一个地取出字符,分别是“8”和“5”,同时经过转换和相加运算后,结果s中的值应该是6385。

  • 第7题:

    有以下程序includeincludevoidfun(char*s[],intn){char*t;int i,j;for(i=0

    有以下程序 #include <stdio.h> #include <string.h> void fun(char *s[],int n) { char *t; int i,j; for(i=0;i<n-1;++) for(j=i+1;j<n;j++) if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i];s[j];s[j]=t;} } main() { char *ss[]={"bcc

    A.xy,aaaacc

    B.aaaacc,xy

    C.bcc,aabcc

    D.aabcc,bcc


    正确答案:A
    解析: 函数fun(char*s[],int n)的功能是对字符串数组的元素按照字符串的长度从小到大排序。在主函数中执行fun(ss,5)语句后,*ss[]={"xy","bcc"," bbcc","aabcc","aaaacc"},ss[0],ss[4]的输出结果为xy,aaaacc。

  • 第8题:

    下列给定程序中,函数fun()的功能是:依次取出字符串中所有的数字字符,形成新的字符串,并取代原字符串。

    请改正函数fun()中的错误,使它能得出正确的结果。

    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

    试题程序:

    include <stdio.h>

    include <conio.h>

    void fun(char *s)

    {int i,j;

    for(i=0,j=0; s[i]!= '\0'; i++)

    if(s[i]>= '0'&&s[i]<= '9')

    /*************found**************/

    s[j]=s[i];

    /*************found**************/

    s[j]="\0";

    }

    main()

    {char item[80];

    clrscr();

    printf("\nEnter a string: ");gets(item);

    printf("\n\nThe string is:\%s\n", item);

    fun(item);

    printf("\n\nThe string of changing is :

    \%s\n",item);

    }


    正确答案:(1)错误;s[j]=s[i]; 正确:s[j++]=s[i]; (2) 错误:s[j]="\0"; 正确:s[j]='\0';
    (1)错误;s[j]=s[i]; 正确:s[j++]=s[i]; (2) 错误:s[j]="\0"; 正确:s[j]='\0'; 解析:有循环条件if(s[i]>='0'&&s[i]='9')以及题目要求“依次取出字符串中所有的数字字符”可知,s[j]=s[i];表述错误。s[j]="\0";中是一个常识性语法错误,学习者只要在平时训练的时候注意一下就可以了。

  • 第9题:

    下面程序的运行结果是( )。 #inelude<stdio.h> void del(char*s) { int i,j; char*a; a=s: for(i=0,j=0;a[i]!=\0;i++) { if(a[i]>=0&&a[i]<=9) {s[j]=a[i]; j++; } s[j]=\0; } } main { char*s="aa89gggh"; del(s): printf("\n%s",s); }

    A.1

    B.2

    C.3

    D.4


    正确答案:D
    本题中del(char*s)函数实现的功能是:逐个读入S数组中的字符,如果遇到数字,则将数字存在s中,遇到非数字字符则跳过。所以最后输出的应该是字符串S中所有的数字的个数。

  • 第10题:

    下列给定程序中,函数fun()的功能是将字符串s中位于偶数位置的字符或ASCII码为奇数的字符放入字符串t中(规定第一个字符放在第0位中)。

    例如:字符串中的数据为ADFESHDI,则输出应当是 AFESDI。

    请改正程序中的错误,使它能得到正确结果。

    注意;不要改动main函数,不得增行或删行,也不得更改程序的结构。

    试题程序:

    include <conio.h>

    include <stdio.h>

    include <string.h>

    define N 80

    /************found*************/

    void fun(char s,char t[])

    {

    int i,j=0;

    for(i=0;i<strlen(s);i++)

    /*********found*+************/

    if(i%2=0 || s[i]%2!=0)

    t[j++]=s[i];

    t[j]='\0';

    }

    main()

    {

    char s[N],t[N];

    clrscr();

    printf("\nPlease enter string s:");

    gets(s);

    fun(s,t);

    printf("\nThe result is:%s\n",t);

    }


    正确答案:(1)错误:void fun(char schar t[]) 正确:void fun(char *schar t[]) (2)错误:if(i%2=0||s[i]%2!=0) 正确:if(i%2=0 || s[i]%2!=0)
    (1)错误:void fun(char s,char t[]) 正确:void fun(char *s,char t[]) (2)错误:if(i%2=0||s[i]%2!=0) 正确:if(i%2=0 || s[i]%2!=0) 解析:错误1:由于本题中函数的功能是对字符串进行处理,而不是对单个字符进行处理,因此,函数的参数应为字符串指针。错误2:if语句中要用关系运算符,而不是赋值运算符。

  • 第11题:

    下面程序的运行结果是

    #include<stdio.h>

    void delch(char *s)

    { int i,j;

    char *a;

    a=s;

    for(i=0,j=0;a[i]!=′\n′;i++)

    if(a[i]>=′0′ &&a[i]<=′9′)

    {s[j]=a[i]; j++;}

    s[j]=′\0′;}

    main()

    { char *item="a34bc";

    delch(item);

    printf("\n%s",item);}

    A.abc

    B.34

    C.a34

    D.a34bc


    正确答案:B
    解析:考查用指针引用字符串元素的方法。指针a通过数组元素下标来从头逐个地引用字符串item中的字符,判断不是0~ 9之间的数字时,就去掉这个字符,所以程序结束后,字符串item中就只剩下和两个字符了。

  • 第12题:

    下面程序的运行结果是()。includevoid delch(char *s){ int i,j;char*a;a=s;for(i=0,j=

    下面程序的运行结果是( )。 #include<stdio.h> void delch(char *s) { int i,j; char*a; a=s; for(i=0,j=0;a[i]!='\0' ;i++) if(a[i]>='0' &&a[i]<='9') { s[j]=a[i]; j++;} s[j]='\0'; } main() { char*item="a34bc"; delch(item); printf("\n%s" ,item);}

    A.abc

    B.34

    C.a34

    D.a34bc


    正确答案:B
    解析:指针a通过数组元素下标来从头逐个的引用字符串item中的字符,判断不是0~9之间的数字时,就去掉这个字符,所以程序结束后,字符串item中就只剩下34两个字符了。注意:形参为指针变量时,实参和形参之间的数据传递。

  • 第13题:

    有如下程序includevoid main(){char ch[2][5]=={"6937","8254"},*p[2];int i,j,s=0

    有如下程序 #include<iostream.h> void main() {char ch[2][5]=={"6937","8254"},*p[2]; int i,j,s=0; for(i=0;i(2;i++)p[i]=ch[i]; for(i=0;i(2;i++) for(j=0;p[i][j]>'\0,j+=2) s=10*s+p[i][j]-'0'; cout<<s;} 该程序的输出结果是( )。

    A.69825

    B.63825

    C.6385

    D.693825


    正确答案:C
    解析: 该题主要要搞清楚以下几点:①定义了一个指针数组char *p[2]后,程序中第一个循环{or(i=o;i2,i++)p[i]=ch[i];的作用是使指针数组的p[0]元素(它本身是一个指针)指向了二维数组ch的第一行字符串,井使指针数组的p[1]元素指向了二维数组ch的第二行字符串,这样,就使指针数组p和二维数蛆ch建立起了一种对应关系,以后对二维数组ch的某个元素的引用就有两种等价的形式;ch[i][j]或P[i][j]。②对二维数组ch的初始化,使其第一行ch[0]中存入了字符串"6937",第二

  • 第14题:

    下面程序的运行结果是includevoid delch(char*s){int i,j;char *a;a=S;for(i=0,j=0;a[

    下面程序的运行结果是 #include<stdio.h> void delch(char *s) { int i,j; char *a; a=S; for(i=0,j=0;a[i]!='\0';i++) if(a[i]>='0' &aa[i]<='9') {s[j]=a[i]; j++;} s[j]='\0';} main() { char *item="a34bC"; delch(item); printf("\

    A.abc

    B.34

    C.a34

    D.a34bc


    正确答案:B

  • 第15题:

    以下程序用以删除字符串中所有的空格,请填空。 include main() {char s[100]={"Our teac

    以下程序用以删除字符串中所有的空格,请填空。

    include<stdio.h>

    main()

    {char s[100]={"Our teacher teach C language!"};int i,j;

    for(i=j=0;s[i]!='\0';i++)

    if(s[i]!=''){( )}

    s[j]='\0';

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

    }


    正确答案:s[j]=s[i];j++;
    s[j]=s[i];j++; 解析:本题中相当于字符串s中存储着含有空格的字符,当发现空格的时候就用这个空格字符后面的字符前移覆盖这个空格字符,依次类推向后继续。因此,应填s[j]=s[i];j++;两条语句。

  • 第16题:

    已知C源程序如下: include include void reverse(char S[]){ int C,i,J; f

    已知C源程序如下:

    include<stdio. h>

    include<string. h>

    void reverse(char S[]){

    int C,i,J;

    for(i=0,j=strlen(s)-1;i<j;i++,j++){

    c=s[i];

    s[i]=s[j];

    s[j]=c;

    }

    }

    void getHex(int number,char s[]){

    int I;

    i=0;

    while(number>0){

    if(number%16<10)

    s[i++]=number%16+'0';

    else

    switch(number%16){

    case 10:s[i++]='A';break;

    case 11:s[i++]='B';break;

    case 12:s[i++]='C';break;

    case 13:s[i++]='D';break;

    case 14:s[i++]='E';break;

    case 15:s[i++]='F';break;

    default:printf("Error");break;

    }

    number/=16;

    }

    s[i]:'\o';

    reverse(s);

    }

    int main(){

    unsigned int number;

    int i=0:

    char s[50];

    printf("%s","please input number;\n");

    scanf("%d",&number):

    getHex(number,s);

    i=0;

    while(s[i])

    printf("%c",s[i++]);

    return 0;

    }

    画出程序中所有函数的控制流程图。


    正确答案:流程图
    流程图

  • 第17题:

    下列函数从字符数组s[]中删除和c一样的字符,请在下面横线处填空。 void delete(s,C)char s[],c; {int i,j; for(i=j=0;( );i++) if(s[i]!='c') s[j++]=s[i]; s[j]="\0";}


    正确答案:s[i]!='\0'
    s[i]!='\0' 解析:本题是要删除字符数组中和c一样的字符,for循环实现的功能是逐个读出字符数组s中的元素,并和字符c做比较,直到遇到字符串结束标志'\0',结束循环,所以横线上应该填s[i]!='\0'。

  • 第18题:

    有以下程序:includeincludevoid fun(char*s[],int n){char*t;int i,j;for(

    有以下程序: #include<stdio.h> #include<string.h> void fun(char*s[],int n) { char*t;int i,j; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(strlen(s[i])>strlen(s[j])){t=s[i];s[i]=s[j];s[j]=t;} } main() { Char*ss[]={"bcc","bbcc","xy","aaaacc","aabcc"}; fun(ss,5);printf("%s,%s\n",ss[0],ss[4]); } 程序的运行结果是( )。

    A.xy,aaaacc

    B.aaaacc,xy

    C.bcc,aabcc

    D.aabcc,bcc


    正确答案:A

  • 第19题:

    以下程序用以删除字符串中所有的空格,请填空。

    inculde <stdio.h>

    main()

    { char s[100]=(“our teacher teach c language!”);int I,j;

    For(i=j=0;s[i]!=’’)

    iF(s[i];s[i]!=’\0’) {s[j]=s[i];j ++}

    s[j]=【 】

    printF(“index=%d\n”,s-a);

    }


    正确答案:‘\0’
    ‘\0’ 解析:程序使用变量i遍历字符数组s中的所有字符,使用变量j存放非空格字符。当将所有的非空格字符重新存放到字符数组s中后,应添加字符串结束标志'\0'。

  • 第20题:

    有如下程序includevoid main(){char ch[2][5]={"6937","8254"},*p[2];int i,j,s=0;

    有如下程序 #include<iostream.h> void main() {char ch[2][5]={"6937","8254"},*p[2]; int i,j,s=0; for(i=0;i<2;i++)p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]>'\0';j+=2) s=10*s+p[i][j]-'0'; cout<<s; return 0; } 该程序的输出结果是( )。

    A.69825

    B.63825

    C.6385

    D.693825


    正确答案:C

  • 第21题:

    如下程序的输出结果是includemain(){ char ch[2)[5]={"6937","8254"},*p[2];int i,j,s

    如下程序的输出结果是 #include<stdio.h> main() { char ch[2)[5]={"6937","8254"},*p[2]; int i,j,s=0; for (i=0;i<2;i++) p[i]=ch[i]; for (i=0;i<2;i++) for(j=0;p[i][j]>'\0';j+=2) s=10*s+p[i][j]-'0'; printf("%d\n",s);}

    A.69825

    B.63825

    C.6385

    D.693825


    正确答案:C
    解析:通过行指针p来实现数组元素的引用。注意:用格式说明符%s进行整串输入与输出。

  • 第22题:

    下列给定程序中,函数fun()的功能是:依次取出字符串中所有的字母,形成新的字符串,并取代原字符串。

    请改正程序中的错误,使它能得到正确结果。

    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

    试题程序:

    include<stdio.h>

    include<conio.h>

    void fun(char*S)

    {

    int i,j;

    for(i=0,j=0;s[i]! ='\0';i++)

    /*************found************/

    if((s[i]>='A'&&s[i]<='Z')&&(s[i]>= 'a'&&S[i]<='z',))

    s[j++]=s[i];

    /*************found*************/

    s[j]=“\0”;

    }

    main()

    {

    char item[80];

    clrscr();

    printf(“\nEnter a string:”);

    gets(item);

    printf(“\n\nThe string is:\%S\n",item);

    fun (item);

    printf("\n\nThe string of changing

    is:\%S\n",item);

    }


    正确答案:(1)错误:if(s[i]>='A'&&s[i]='Z')&&(s[i]>='a'&&s[i]='z')) 正确:if((s[i]>='A'&&s[i]='Z')||s[i]>='a'&&s[i]='z')) (2) 错误:s[j]="\0" 正确:s[j]='\0'
    (1)错误:if(s[i]>='A'&&s[i]='Z')&&(s[i]>='a'&&s[i]='z')) 正确:if((s[i]>='A'&&s[i]='Z')||s[i]>='a'&&s[i]='z')) (2) 错误:s[j]="\0" 正确:s[j]='\0' 解析:错误1:字母包括小写字母和大写字母,这里是“或”的关系,所以用“||”运算符。错误2:字符串的结束标志符为字符,而不是字符串。

  • 第23题:

    有以下程序includeincludevoidfun(char,*s[],intn){char*t;inti,j; for(i=

    有以下程序 #include <stdio.h> #include <string.h> void fun(char,*s[],int n) { char *t; int i,j; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]:s[j];s[j]=t;} } main() { char *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"}; fun(ss,5); printf("%s,%s\n",ss[0],ss[4]); } 程序的运行结果是

    A.xy,aaaacc

    B.aaaacc,xy

    C.bcc,aabcc

    D.aabcc,bcc


    正确答案:A
    解析:函数fun(char,s[],int n)的功能是对字符串数组的元素按照字符串的长度从小到大排序。在主函数中执行fun(ss,5)语句后,*ss[]={"xy","bcc","bbcc","aabcc","aaaacc"},ss[0],ss[4]的输出结果为xy,aaaacc。

  • 第24题:

    有以下程序

    #include <stdio.h>

    #include <string.h>

    void fun(char s[][10],int n)

    {char t; int i,j;

    for(i=0;i<n-1;i++)

    for(j=i+1;j<n;j++)

    /*比较字符串的首字符大小 ,并交换字符串的首字符*/

    if(s[i][0]<s[j][0]) {t=s[i][0];s[i][0]=s[j][0];s[j][0]=t;}

    }

    main()

    {char ss[5][10]={“bcc”,”bbcc”,”xy”,”aaaacc”,”aabcc”};

    fun(ss,5); printf(“%s,%s\n”,ss[0],ss[4]);

    }

    程序的运行结果是( )。

    A.xy,aaaacc

    B.aaaacc,xy

    C.xcc,aabcc

    D.acc,xabcc


    正确答案:D