2023年河南省濮阳市全国计算机等级考试C语言程序设计模拟考试(含答案).docx
2023年河南省濮阳市全国计算机等级考试C语言程序设计模拟考试(含答案)学校:班级:姓名:考号:一、2.填空题(10题)1 .以下程序运行后的输出结果是Ofun(int a) int b=0; static int c=3;b+; c+;return(a+b+c);)main() int i,a=5;for(i=0;i < 3;i+) printf("%d %d",i,fun(a);printf(nnn);)2 .下列程序的字符串中各单词之间有一个空格,则程序的输出结果是o#include < stdio.h >#include < string.h >main() char strl =nHow do you do", *pl=strl;strcpy(strl +strlen(strl)/2/es shen);printf(n%snpl);)3 .如果输入T、2、3、4,则以下程序的运行结果为【】。#include < stdio.h >14 FILE fp, wf ;15 int i, n ;t6double s;17 fp - fopen("in.daL,"r”);18 wf = fopen("outdat","w");;19for (i = 0 ; i < 10 ; i+) 20 fscanf(fpr d",&n);21 s = fun(n);Z2fprintf (wf, n% fn=,s);莓241 fclose (fp);25| fclose (wf);)26.请编写函数proc (),其功能是:将str所指字符串中除下标为偶数、 同时ASCII码值为奇数的字符外,其余的字符都删除,串中剩余字符所 形成的一个新串放在t所指的数组中。例如,若str所指字符串中的内容 为ABCDEFG12345,其中字符8的ASCII码值为偶数,所在元素的下 标为奇数,因此必须删除;而字符A的ASCH码值为奇数,所在数组 中的下标为偶数,因此不应当删除。依次类推,最后t所指的数组中的 内容应是ACEG。注意:部分源程序给出如下。请勿改动main ()函 数和其他函数中的任何内容,仅在函数proc ()的花括号中填入所写的 若干语句。试题程序:a iftdude < stdhb.爹 i Delude <1 coci io. h>8 iocludr Vmdiou b># includeh>peorCrhat ntr» rkir c J)vend )clmr wtr( 100口8: ywim,(*,. )ipnm"'nPloaibc enter »tnn< str. *>ivcanf< %,”iproc<sir»1) prmtfCreMilt u»t H«nw«t>>27.请编写一个函数,用来删除字符串中的所有*。例如,输入 abc*de*f*gh,则输出为abcdefgh。注意:部分源程序给出如下。请勿 改动main ()函数和其他函数中的任何内容,仅在函数proc ()的花括 号中填入所编写的若干语句。试题程序:S» Ecludth>林 include Vctype« k>9 Bticlud# <coaio. b> d include Vvoid prorfdxr . mr)void mam< >char uttfSl inyvtetnf ) pnmf(aInput tnng> e)ipul v( utr) IprDc(»tr) ipnntfC" " Btr:28 .某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程 的成绩已在主函数中给出,请编写函数fun,其功能是:求出该学生的 平均分,并放入记录的ave成员中。例如,学生的成绩是:85 .5, 76, 69 .5, 85, 91, 72, 64 . 5, 87 .5, 则他的平均分应为78 . 875o注意:部分源程序在文件PROG1 . C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数Am的花括 号中填入你编写的若干语句。9include < Bldio. h >fdefine N 8typedef 8tmetchar num 10; double » N; double ave;I STREC;void fun(STREC a)main()| STREC ts |-GA00585.5f191.72t64.5t87.5| ;im isvoid NONO( );fun( );printf( " The % s's student data: n" , s. num);for(i =Oi <N; i )prinrf(" nave = %7. 3fnM ,s. ave);NONO();I;void NONO()本函数用于打开文件输入数据.两用函数,输出数据,关闭文件.FILE out 1imij STREC » 10 = |-GA005* t85.5,76.69.5,85,91,721178.51 .| * CA002" .72.5.56,66. S .66.79.68.46. S ,58.51 .rGA003” .92.5,76.86.5,86,99,86,56.5.88.51.|-CA004- .82.66.5.46.S.56.76,75.76.5.63.51 fI-GA006* ,75.5.74.71.5,85,81,79.64.5.71.51,|BGA007" .92.5,61,72. 5.84,79,75,66.5.72.5 9|* GA008- ,72.5.86.73.5,80,69.63.76.5.53.5 |t| * GA009- t66.5,71.74.5.70,61.82.86.5,58.51.I"CA010- ,76,66.5,75.5.60,76,71.96.5,93.51 .I Iout = fopen( w out. dal* tw w* );for(i e 0 ; i < 10 ; i )(fun(&fli);fjprintf(outr *%7<3AnMf !.<*«);IfdoM!(OUt);IJ-29 .请编写函数proc (),它的功能是计算下列级数和,和值由函数值返回。sum=l-x+x2/2!-x3/3 1+.+ (-l*x) n/n!例如,当 n=23, x=0.3 时,函数值为0 .740818。注意:部分源程序给出如下。请勿改动main ()函数和其他函数中的任何内容,仅在函数Pr()的花括号中填人所编写的若干语句。试题程序:* include <Mdhk h> 器 inrlMde <Zconx>. h> # iAriud< <“diou b> # include h> double proc( double <e mi n>mid mam<)sy*tcm( WCLSM )s*tpnxiO, 3»23)i30 .请编写函数proc,该函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放 在形参n所指的存储单元中。例如,若二维数组中的数据为13 23 33 43 14 24 34 44 15 25 35 45则一维数组中的内容应该是1323 33 43 1424 34 44 15 25 35 45。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括 号中填入所编写的若干语句。试题程序:#include<stdio. h>void proc(int(*s)103, int*b, int*n, int rain, int nn)( ) void mainint arr1010=33, 33, 33, 33), 44, 44, 44, 44),55, 55, 55, 55), i, j;int a100=o), n=o;printf("The matrix: n");for(i=0; i<3; i+) (for(j=O; j<4; j+)printf("%3d", arrij):printf("n"); proc(arr, a, &n, 3, 4):printf("The A array: n");for(i=0; i<n; i+)printf("%3d", ai):printf(" nn"); )四、2.程序修改题(10题)31 .下列给定程序中,函数fun()的功能是:找出一个大于给定整数m且紧随m的素数,并作为函数值返回。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构.试题程序:#include < conio.h > #include < stdio.h > int fun( int m) int i,k;for (i=m+l; ;i+) for (k=2;k < i;k+)/ 7,7,7,7,7,7,1* kI> 7,7,。7,7,7,7,/小小小不不不不小不不不小小tmnd小不不不不小不不不不不不不不/if(i%k!=0)break;/ KL>IKl> KL> KL*KL> /个不个个不不小、个不不个个ci个个不不不小不小不个个不小不/if(k < i)return(i);) main() int n; clrscr (); printf(nnPlease enter n:"); scanf(n%d&n);printf ("dn”,fun(n);)32 .下列给定程序中,函数fun()的功能是:计算并输出下列级数的的N项之和SN,直到SN+1大于q为止,q的值通过形参传入。SN=2/1 +3/2+4/3+(N+ 1)/N例如,若q的值为50.0,则函数值为49.394948。请改正程序中的错误,使它能得出正确的结果。注意;不要改动main函数,不得增行或删行,也不得更改程序的结构.试题程序:#include < conio.h > #include < stdio. h >/kl>x> _/ju *X>£> £> k1> k1> k1>k1> *X> /不不不不不个个不不个个不不不ci inc不不不不不不不不不不不个个不不/double fun(double q) int n; double s,t;n=2;s=2.0;while (s < =q) t=s/ 7,7,7,7,7,7,1* kI> 7,7,。1 7,7,7,7,7,7,1* K1* /小小小不不不不小不不不小小roil nd小不不不不不不不不不不不不/s=s+ (n+l)/n;n+;)printf ("n二%dn ", n);/ k!> k!> kJ> kL* kL* k!> k!> kL* k!>。1 k!> k!>kL* kL* k!> k!> k1> k!> k!x kL* kL* /不不不不不不不不不不不不tci n不不不不不不不不不不不不不不不/return s;)main () clrscr();printf (n%fn fun (50);)33.下列给定程序中函数fun()的功能是:从低位开始取出长整型变量s 中偶数位上的数,依次构成一个新数放在t中。例如,当s中的数为 7654321时,t中的数为642。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include < stdio.h >#include < conio.h >/ vfx*1*1 si* vl* vt*kL* *1 Kt*/不不不不不不不不不不不不不tmind不不不不不不不不不不不不不不/void fun(long s,long t) long sl=10;s/=10;*t=s%10;while(s < 0) s=s/100;*t=s%10*sl+*t;sl=sl*10;) main() long s, t;clrscr();printf(HnPlease enter s: "); scanf (''%kT',&s);fun(s,&t);printf(nThe result is: %ldn !t);)34.给定程序MODII . C中fun函数的功能是:根据整型形参m,计算 如下公式的值。例如,若主函数中输入5,则应输出-0.283333。请改正函数fun中的错误或在横线处填上适当的内容并把横线删除,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!45 67891011121314151617181 tinclude <stdio.h> 2 j double fun(int m)double t = 1.0;int i;for(i » 2; i <* m; i+)/八m. found.t - 1.0-1 /i;/*w*found*/ main ()(int m ;printf(MnPlease enter 1 integer numbers:nw);scanf(H%dnr &m);printf (MnnThe result is %lfnf fun(m);35.下列给定程序中函数fun()的功能是;从低位开始取出长整型变量s 中奇数位上的数,依次构成一个新数放在t中。例如,当s中的数为 4576235时,t中的数为4725。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include < stdio . h >#include < conio . h >/*£* vL*kL*01 <1kL* kL# kJ# kI* /不不不不不不不不不不不不tc 不不不不不不不不不不不不不/int fun(long S, long *t) long si =10 ;main() char c ;int i, k ;k=O ;for (i=0 ; i<4 ; i+) while(l) c=getchar();if(c > =U&&c < ='9') break ;k=k*10+c-'0';iprintf("k=%dn", k);4,若有以下程序:main()(int a=4, b=3, c=5, t=0;if(a < b) t=a; a=b; b=t;if(a < c) t=a; a=c; c=t;printf("%d%d%dn",a,b,C); 执行后输出结果是【5,数据结构分为逻辑结构和存储结构,循环队列属于结构。6.在关系数据库中把数据表示成二维表,每一个二维表称为【】。while(s > 0)(/KL> Kl>_</1/不干不个不不个不个不不不Toind个个不不不不不不不"、s=s%100 ;*t=S%10*Sl+*t ;sl=sP10 ;) main()(long S, t ;clrscr();printf(nnPIease enter S :n);scanf("ld”,&s);fun(S, &t);printf("The result is : %ldn, t);36 .给定程序MOD11 . C中函数fun的功能是:计算n的5次方的值(规 定n的值大于2、小于8),通过形参指针传回主函数;并计算该值的个 位、十位、百位上数字之和作为函数值返回。例如,7的5次方是16807,其低3位数的和值是15。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!12345linclude <stdio.h>include <math.h>int fun(int n 9 int *value) int d,s,i;67891011d«0; s«0;for(i«l; i<«5; i+).d,d*n;*value-d; for(i»l; i<-3; i+) s-sd%10;12d«d10;1314return s;151617181920212223main ()(int n. sum, v; do printf(wnEnter n(2<n<8):w); scanf L%d",&n);)while (n<»21|n>»8);sum«fun(nr &v);printf(wnnThe result:n value* %d sum-%dnnnr vr sum);37 .给定程序MOD11 . C中函数fun的功能是:在字符串的最前端加入 n个*号,形成新串,并且覆盖原串。注意:字符串的长度最长允许为79。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!1234567891011121314151617181920212223242526tinclude <stdio.h>include <string.h> void fun (char s, int n)char a(80 , *p; int i;*found*s»p;for (i-0; i<n; i+) ai* 1; do ai«*p;i+;/*w*found*/while(*p+)a(i-0;strcpy(sza);)main ()( int n; char s 80;printf(MnEnter a string : “); gets(s);printf(MnThe string n%swnwrs);printf(HnEnter n (number of *): ");scanf(w%dwr &n);fun(srn);printf (RnThe string after insert: "s” n” ,s);38 .已知一个数列从。项开始的前3项:0, 0, 1,以后的各项都是其相 邻的前3项之和。下列给定的程序中,函数fun()的功能是:计算并输出 该数列前n项的和sumo n的值通过形参传入。例如,当n=10时,程序 的输出结果应为96.0000000请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include < conio . h > #include < stdio . h >double fun(int n) (double sum, SO, SI, S2, S ;int k ;sum=1.0 ;if(n < =2)sum=0.0 ;s0=0.0 ;sl=0.0 ;s2=1.0 ;/I/不不不不可不不不不不不不不ci ind不不不不不不不不不下不不不/for (k=4 ;k < n ;k+)S=S0+Sl+s2 ;Sum+=s ;S0=sl ;Sl=s2 ;/1 sl>/不不不不不不不不不不不不不tci n不不不不不不不不不个不不不/S2=S ;return sum ;) main() int n ;clrscr();printf(HInput N=");scanf("%d", &n);printf(u%fnn, fun(n); )39,下列给定程序中,fun()函数的功能是:根据形参m,计算下列公式的值。匚-1+1/2+1/3+1/4+.+l/m例如,若输入5,则应输出2.283333。请改正程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include < conio.h > #include < stdio.h > double fun(int m)(double t=1.0;int i;for(i=2;i < =m;i+)/11* /不不不不不不不不不不不不不tci不不不不不不不不不个不不不不/t+=l.O/k; /i/个个不个不不不不小不不不不ci不不小不不不不不不不不不小不/ return i;main()int m;clrscr();printf(nnPlease enter linteger number:n);scanf(n%d,&m);printf(nnThe result is%lfnn, fun(m);40 .下列给定程序中,函数fun()的功能是:计算s所指字符串中含有t所指字符串的数目,并作为函数值返回。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include < conio.h > #include < string.h >#include < stdio.h >#define N 80int fun(char *s, char *t) int n ;char*p, *r ;n=0 ;while(*s) Ps / vt*vL* vt*上vl* /不不不(、下不不不、不下不不不tciinri不.可不不不不不不不不少不不不/while(*r)if*r=*p) r+ ; p+ ; else break ;/*1*1k1>k1*k!> sl> k!>k!>/个个个个个个个个个个小个个个Tcnnc个个个个个个个个个个个个个小个/ if(*r=0) n+ ;s+ ; ) return n ; main()char aN, bN ; int m ;clrscr();printf(nnPlease enter string a : n);gets(a);printf("nPlease enter substring b :");gets(b);m=funa,b);printf("nThe result is :m=%dn", m); )五、程序改错题(2题)41 .下列给定程序中,函数proc()的功能是:从3个红球,5个白球,6 个黑球中任意取出8个作为一组,进行输出。在每组中,可以没有黑 球,但必须要有红球和白球。组合数作为函数值返回。正确的组合数 应该是15。程序中i的值代表红球数,j的值代表白球数,k的值代表 黑球数。请修改程序中的错误,使它能得出止确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:S mclucir V.idg b>Ei proe( >int4Oit>Th rwwtilt int> ") for <jw-l Ji found >ucn - t 11 pnfil(< *rcdt whhrtM4d4dn F.jrrturvi rimiiivoid fnaia()ml imw3E - proc () |pnntff *»um c < 4dnn42 .下列给定程序中,函数fun ()的功能是:将长整型数中各位上为奇 数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低 位。例如,当s中的数为87653142时,t中的数为7531。请改正程序 中的错误,使它能得出正确的结果。注意:不要改动main ()函数, 不得增行或删行,也不得更改程序的结构!试题程序:绯 include <stdlib. h>Se include <stdio, h>C include < cc>nK>. h> void fun(long s. long l)in( dilong hI * I: /«« found »t-*0>while (s>0)d = «%10:/ found * i«d% 2 «« 0)* i-d si + ti 算1 Q 10ivoid nxain ()longsystcm( "Clf" ) iprintf<wnPlease enter Si "):scanft . % id" &-m) iprintf(wThe result is:% idn*a);六、操作题(2题)43 .执行以下程序后的输出结果是。main() int a=10;a=(3*5,a+4); printf(na=%dn,a);44 .请补充main函数,该函数的功能是 输入两个正整数numl和num2, 求这两个数的最大公约和最小公倍数。例如,若输入的两个正整数为12, 4,则它们的最大公约数为12,最小 公倍数为40注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上 填人所编写的若干表达式或语句。试题程序:#include<stdlib . h>#include<stdio . h>void main(int a, b, numl, num2, t ;system("CLS"):printf(nnlnput two numbers : rT);scanf(n%d, %dn, &numl, &num2);if(numl<num2)(a=num2 ;b=numl :)else(a=numl ;b=num2 ;)while( 1)(t= 2 a=b ;7 .下列程序的输出结果是olong fun5(int n) long s ;if(n=l) II (n=2)s=2 ;elses=n+fun5(n-l);return(s);) main() long x ;x=fun5(4);printf("%ldn",x);8 .下面程序的运行结果是【】。int f(int a,int n) if(n > l)return a0+f(&al,n-l);else return a0;) main() intaa3=l, 2. 3, s;s=f(&aa0, 3);printf(u%dnn, s);9 .若想通过以下输入语句使a=5.0, b=4, c=3,则输入数据的形式应该b=t :)printfi(c'greatest common divisor :%dn", a);printf(nleast common multiple :%dnn, 3;参考答案1.0 101 112 120 101112 12解析:本题考查的是静态局部变量的运用。静态局部变量的作用域与普通局部变量一样,但它的生存期将延长到程 序运行结束。本题的主函数中使用一个for循环输出循环变量i和fun(a) 的值,由于a的值一直没被修改过,所以三次调用的都是fun(5)。第1 次调用,b=0, c=3,所以返回值为5+1+4=10 ;第2次调用,因为c是 静态局部变量,它仍然保存着上次调用结束时的值4,而b重新被创建 和初始化为0,所以返回值为5+1+5=11 ;同理,第3次调用返回的是 12。所以,程序最终输出为:010111212o2.How does sheHow does she 解析:程序中的 strlen(strl)是求 strl 字符串 的长度,结果为13,然后除以2结果为6O strcpy函数是把字符串“es she”拷贝到strl后的第6个字符后面,也就是说,拷贝后的结果是“How does she”。3.k=12344.503503解析先判断表达式a<b为假,不执行t=a,但执行“a=b;b=t;",a的值为3, b的值为0。再判断表达式a <C,值为真,所以执行后面的3条语句“t=a ; a=c ; c=t",结果a的值为5, c的值为3,所以最后输出 的结果为5、0和3。5 .存储或物理或存储结构或物理结构存储或物理或存储结构或物理结构 解析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储 结构(也称数据的物理结构)。所谓循环队列,就是将队列存储空间的最 后一个位置绕到第一个位置,形成逻辑上的环状空间。供队列循环使用。 可知,循环队列应当是物理结构。6 .关系或一个关系关系或一个关系解析:在关系数据库中,把数据表示 成二维表,而一个二维表就是一个关系。7 .考查if else语句,n=4不满足条件,所以fun5(4)=4+fun5(3), n=3也 不满足条件,fun5(3>3+ fun5(2), n=2 满足条件 fun5(2)=2,故 x=4+3+2=9ornrn8.66解析:经过分析将递归函数写成其数学表达式如下:本题中定义了一个长度为3的数组aa并初始化。接着调用递归函数f, 由上面的数学表达式以计算其返回值s=l+2+3=6,所以空格处应该填6。 9.5.04c=35.0,4,c=3解析:scanf(掐式控制,地址列表),如果在“格式控制” 字符串中除了格式说明以外还有其他字符,则在输入数据时应输入与这 些字符相同的字符。所以此题中输入数据的形式是5.04, c=3o 10.*(p+5)或p5*(p+5)或p5解析:本题的考查点是通过指针引用数组 元素。98是数组w的第5个元素(最开始的为第0个),而通过*p=w已 经将P指向了数组w,要想不移动指针p而弓|用98,可以有以下两种方 法:p5、 *(p+5)。U.A解析:本题考查的是位运算的知识,对于任何二进制数,和1进行异 或运算会让其取反,而和0进行异或运算不会产生任何变化。12 .C13 .A14 .AB选项中运算符“”的运算对象为整数。C选项中不能将变量赋给 表达式“x+n”。D选项中不能将表达式“4+1”赋给常量5。故本题答案为 A选项。15 .A16 .C输入数据的格式必须与seanf()的格式控制串完全匹配,所以输入时必 须在3和5之间输入“;17 .A解析:本题考核软件维护的概念.维护是软件生命周期的最后一个 阶段,也是持续时间最长、付出代价最大的阶段,在软件交付使用后, 还需要进行维护。软件维护通常有以下四类:为纠正使用中出现的错误 而进行的改正性维护;为适应环境变化而进行的适应性维护;为改进原 有软件而进行的完善性维护;为将来的可维护和可靠而进行的预防性维 护。软件维护不仅包括程序代码的维护,还包括文档的维护。综上所述, 本题的正确答案是A,其余选项的说法错误。18 .A部门到职员是一对多的,职员到部门是多对一的,因此,实体部门 和职员间的联系是1 : m联系。19 .D解析:因为x的值为大于1的奇数,所以x除以2的余数等于1,因 此,选项A)、C)中表达式的结果为真,不为0;对于选项B)来说,x除以2的 商不会等于0;选项D)中表达式的结果为假,即等于0。20 .D 21.【解析】字符串数组中每一行都是一个完整的字符串,其结束标志为 0'。因此,通过字符串的结束标志来判断每一个字符串是否结束,将 字符串数组中的所有字符串均赋值给新的一维数组b来完成字符串的 合并。22.ntmain ninta,b,c;Wprintf(“请输入三个整数:”);nscanf("d,%d,%d;&a,&b,&c);nif(aif(belseprintfCcmax=%dn,b);nelse if(aelseprintf("max=%dn",a); n23. lvoidfun(char*a,charts)2 while(*s!:'o 1)3*a=*s;4a+;5s+;7*a='0,;要将指针变量s所指的字符串存入指针 变量a所指的字符串中,程序要求不能使用系统提供的字符串函数。本题可以使用循环语句,依次取出a所指字符串中的元素,将其存入s 所指的字符串中,最后为s所指的字符串添加字符串结束标志70、24.【解析】要将大于整数m且紧靠m的k个素数存入所指的数组中,首 先应该判断大于整数m且紧靠m的整数是否为素数。将紧靠m且为素 数的k个整数放入数组xx中。1.1 1 doublefun(intn)doublesum=0.0;inti;for(i=21;i<=n;i+)if(i%3=0)&&(i%7=0)sum+=i;returnsqrt(sum);本题考查算术运算的算法。首先利用一个for循环判断小于n且能同时 被3和7整除的整数,并将满足条件的整数累加到sum。之后调用 Sqrt()函数计算sum的平方根,并将其作为函数的返回值返回。【解析】题目中要求将字符串str中下标为偶数、同时ASCII码值为奇 数的字符放在数组t中。首先,需要检查字符串str中下标为偶数的字 符的ASCH码值是否为奇数,将符合要求的字符放在数组t中。最后, 为新的字符串数组添加结束符。【解析】根据题目中要求删除字符串中所有的*号,需要检查字