赞
踩
今天做啦几套题,总结啦一个题型,就是从*****A**B*C*D*****这样的字符串中删除*的几种类型,一种总结啦七种。
一:输入的字符串:只有字母和*号,编写函数:fun()实现不同的功能?
(1)除了尾部的*号外,将字符串中的其他*全部删除,形参p已指向字符串中最后一个字母,例如:*****A*BC*DEF*G****.删除后为:ABCDEFG*****
(21题)
Void fun(char *a,char *p) |
(2)将字符串中的前导*号删除,中间和尾部的*不能删除。
列如:*********A*BC*DEF*G*****删除后,A*BC*DEF*G*****
(25题)
Void fun(char *a) { char *p=a; While(*p==’*’) p++; for(;*p!=’\0’;p++) { *a=*p; a++; } a=’\0’; } |
(3)除啦字符串前导和尾部的*号外,将串中其他*号全部删除,形参h已指向字符串中的第一个字母,形参p指向字符串中的最后一个字母,。(49题)
列如:*****A*BC*DEF*G****删除后:*****ABCDEFG*******
Void fun(char *a,char *h,char *p) { int i=0; Char *t=a; While(t<h) { a[i]=*t; i++; t++; }
While(t<p) { If(*q!=’*’) {a[i]=*t; i++; } t++; } While(*t) { a[i]=*t; i++; t++; } a[i]=’\0’; } |
(4)只删除字符前导和尾部的*号,串中字母间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串前导*号的个数,形参e给出啦字符串中尾部*号的个数,。(58题)
列如:*****A*BC*DEF*G******删除后:A*BC*DEF*G
Void fun(char *a,int n,int h,int e) { int i,j=0; for(i=h;i<n-e;i++) {a[j]=a[i]; j++; } a[j]=’\0’;
} |
(5)除啦字符串前导的*号外,将字符串其他的*号全部删除,(63题)
列如:****A*BC*DEF*G*******删除后****ABCDEFG
Void fun(char *a) { int i=0; Char *p=a; While(*p&&*P==’*’) { a[i]=*p; i++; p++; } While(*p) { if(*p!=’*’) { a[i]=*p; i++; } P++; } a[i]=’\0’; } |
(6)第65套题将字符串中的尾部的*号全部删除,前面和中间的*号不动。
列如:****A*BC*DEF*G******删除后****A*BC*DEF*G
Void fun(char *a) { While(*a!=’\0’) a++; a--; While(*a==’*’) a--; *(a+1) =’\0’; } |
(7)删除字符串中的所有的*(69题)
Void fun(char *a) { Int i,j=0; For(i=0;a[i]!=’\0’;i++) {if(a[i]!=’*’) { a[j]=a[i]; j++; } a[j]=’\0’; } } |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。