计算机等级考试二级C语言程序设计专项训练题 您所在的位置:网站首页 删除字符数组中所有ch的字符 计算机等级考试二级C语言程序设计专项训练题

计算机等级考试二级C语言程序设计专项训练题

2023-12-22 11:21| 来源: 网络整理| 查看: 265

        数组元素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;

}

void fun( char *a, char *p) { char *p1,*p2; p1=p2=a; while (*p1!='\0') { if ((p1

=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;

}

void fun(char *a,char *h,char *p) { char *t1,*t2; for (t1=t2=h;*t1!='\0';t1++) if ((t1p) { *t2=*t1; t2++; } *t2='\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;

}

void fun(char *a, int n,int h,int e) { int i,j; for (j=0,i=h;i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有