计算机等级考试二级C语言程序设计专项训练题 | 您所在的位置:网站首页 › 删除字符数组中所有ch的字符 › 计算机等级考试二级C语言程序设计专项训练题 |
数组元素a[i]的删除操作是使元素个数为n的数组(a[0],a[1],…,a[i-1],a[i],a[i+1],…,a[n-1])变成元素个数为n-1的数组(a[0],a[1],…,a[i-1],a[i+1],…,a[n-1]),由于数组在存储时是连续存放的,这样删除元素a[i]时,需将从元素a[i+1]至a[n-1]共n-i-1个数据元素依次前移一个位置。通常采用一重循环 for (k=i+1;kn) a[i-j+n]='\0'; } 参考程序 18.假定输入的字符串中只包含字母和*号。编写函数fun,它的功能是:除了尾部的*号之外,将字符串中其他*号全部删除。形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为:*****A*BC*DEF*G***,删除后,字符串的内容应当为:ABCDEFG***。 #include void fun( char *a, char *p) { } int main() { char s[81],*t; printf("Enter a string:\n");gets(s); t=s; while (*t) t++; t--; while (*t=='*') t--; fun(s,t); printf("The string after deleted:\n");puts(s); return 0; } ![]() ![]() =p) { *p2=*p1; p2++; } p1++; } *p2='\0'; } 参考程序 19.假定输入的字符串中只包含字母和*号。编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其它*号全部删除。形参h已指向字符串中第一个字母,形参p已指向字符串中最后一个字母。 例如,字符串中的内容为:*****A*BC*DEF*G***,删除后,字符串的内容应当为:*****ABCDEFG***。 #include void fun(char *a,char *h,char *p) { } int main() { char s[81],*t,*f; printf("Enter a string:\n"); gets(s); t=f=s; while(*t) t++; t--; while (*t=='*') t--; while (*f=='*') f++; fun(s,f,t); printf("The string after deleted:\n");puts(s); return 0; } ![]() ![]() 20.假定输入的字符串中只包含字母和*号。编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最后*号的个数。 例如,字符串中的内容为:*****A*BC*DEF*G***,删除后,字符串的内容应当为:A*BC*DEF*G。 #include void fun(char *a, int n,int h,int e) {
} int main() { char s[81],*t,*f; int m=0, tn=0, fn=0; printf("Enter a string:\n"); gets(s); t=f=s; while(*t) { t++;m++;} t--; while(*t=='*') { t--;tn++;} while(*f=='*') { f++;fn++;} fun( s , m,fn,tn ); printf("The string after deleted:\n"); puts(s); return 0; } ![]() ![]() |
CopyRight 2018-2019 实验室设备网 版权所有 |