C语言程序方案.docVIP

  • 10
  • 0
  • 约2.25万字
  • 约 31页
  • 2016-12-22 发布于湖北
  • 举报
第33题 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多于的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。 答案: void fun(char *a,int n) {int i,j=0,k; for(k=0;a[k]!=\0;k++); for(i=k-1;a[i]==*;i--) j++; if(jn) a[k-j+n]=\0; } } 第36题 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部移到字符串的尾部。 答案: void fun(char *a) { int i,j=0,k,m,n; for(i=0;a[i]==*;i++); m=i; for(;a[i]!=\0;i++) a[j++]=a[i]; for(k=1;k=m;k++) a[j++]=*; a[j]=\0; } 第45题 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参n 给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最后的*个数。在编写时不得使用c语言给提供得字符串函数。 答案: void fun( char *a, int n,int h,int e ) { int i,j=0; for(i=h;in-e;i++) a[j++]=a[i]; a[j]=\0; } 第56题 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了尾部的*号之外,将字母串中其他*号全部删除。形参p已指向字符串中最后的一个字母。不使用c的字符串函数。 答案: void fun(char*a,char *p) {int i,j=0; for(i=0;ip-a;i++) if(a[i]!=*) a[j++]=a[i]; for(;a[i]!=\0;i++) a[j++]=a[i]; a[j]=\0; } 第66题 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:删除字符串中所有*号。在编写函数时,不得使用c语言提供的字符串函数。 答案: void fun( char *a ) { int i,j=0; for(i=0;a[i]!=\0;i++) if(a[i]!=*) a[j++]=a[i]; a[j]=\0; } 第73题 假定输入的字符串中只包含字母和*号,请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参h已指向字符串第一个字符,形参p已指向字符串中最后一个字母。在编写程序时,不得使用c语言提供的字符串函数。 答案: void fun(char *a,char *h,char *p) {int i,j,k; i=j=h-a; for(i=h-a;i=p-a;i++) if(a[i]!=*) a[j++]=a[i]; for(k=1;a[p-a+k]!=\0;k++) a[j++]=*; a[j]=\0; } 第83题 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能使:将字符串尾部的*号全部删除,前面和中间的*号不删除。 答案: void fun( char *a ) {int i,n; for(n=0;a[n]!=\0;n++); for(i=n-1;a[i]==*;i--); a[i+1]=\0; } 第88题 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其他*号全部删除。在编写函数时,不得使用c语言提供的字符串函数。 答案: int i,j=0; for(i=0;a[i]==*;i++) a[j++]=a[i]; for(;a[i]!=\0;i++) if(a[i]!=*) a[j++]=a[i]; a[j]=\0; 第94题 规定输入字符串中只包含字母和*号。请编写函数fun,它的功能是:将函数字符串中的前导*号全部删除,中间和尾部的*号不删除。 答案: void fun(char *a) { int i,j=0; for(i=0;a[i]==*;i++); for(;a[i]!=\0;i++) a[j++]=a[i]; a[j]=\0; } 第95题 假定

文档评论(0)

1亿VIP精品文档

相关文档