网站大量收购独家精品文档,联系QQ:2885784924

二级C上机答案.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二级C上机答案

一、*与字母问题 1其功能是:删除字符串中所有的*号。编写函数时,不得使用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′; } 2除了字符串前导的*号之外,将串中其它*号全部删除。在编写函数时,不得使用C语言提的字符串函数。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′;} 3请编写函数fun,其功能是:将字符串尾部的*号全部删除,前面和中间的*号不动。。void fun (char *a){while(*a!=′\0′) a++;a--;while(*a==′*′) a--;*(a+1=′\0′; /} 4请编写函数fun,其功能是:将字符串中的前导*号全部移到字符串的尾部。void fun(char *a){int i=0,n=0;char *p;p=a;while (*p==′*′) {n++;p++;} while(*p) {a[i]=*p;i++;p++;}while(n!=0){a[i]=′*′;i++;n--;}a[i]=′\0′; } 5只删除字符前导和尾部的*号,串中字母间的*号都不删除。形参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′; } 6除了尾部的*号之外,将字符中的其它的*号全部删除。形参p已指向字符串中最后的一个字母。在编写函数时,不得使用C语言提供的字符串函数。void fun(char *a,char *p) {char *t=a;for(;t=p;t++)if(*t!=′*′)    *(a++)=*t;  for(;*t!=′\0′;t++)*(a++)*t;  *a=′\0′; } 7编写函数fun,其功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。void fun (char *a){char *p=a;while(*p==′*′)  p++; /for(;*p!=′\0′; p++,a++) *a=*p;*a=′\0′; } 8除了字符串前导和尾部的*号外,将串中其它的*号全部删除。形参h已指向字符串中第一个字母,形参p指向字符串的中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。 void fun(char *a,char *h,char *p){int i=0;char *q=a;while (qh) {a[i]=*q;q++;i++;} while (qp){ if(*q!=′*′){a[i]=*q;i++;}q++;}while (*q) {a[i]=*q;i++;q++;}a[i]=′\0′;} 9使字符串的前导*号不得多于n个,若多于n个,则删除多余的*号;若少于或等n个,则不做处理,字符串中间和尾部的*号不删除。void fun(char *a,int n ){int i=0, k=0; char *p, *t; p=t=a;  /while(*t==′*′)  {k++; t++;}if(kn)  { while(*p) {a[i]=*(p+k-n); i++;  p++;  } a[i]=′\0′;}} 10使字符串中尾部的*号不多于n个,若多于n个,则删除多余的*号;若少于或等于n个,则不做任何操作,字符串中间和前面的*号不删除。void fun( char *a,int n ){int i=0,k=0; char *p, *t;p=t=a;while(*t) t++;t--;while(*t==′*′){k++;t--;}if(kn){while(*ppt+n+1){a[i]=*p;  i++;p++; }  a[i]=′\0′;}} 11使字符串中前部的*号不得多余n个;若多余n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。void fun(char *a,int n ){int i=0, k=0; char *p, *t;p=t=a;  while(*t

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档