字符和字符串操作_第1页
字符和字符串操作_第2页
字符和字符串操作_第3页
字符和字符串操作_第4页
字符和字符串操作_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 请编写一个函数void fun(char *tt,int pp),统计在字符串中'a'到'z'26个字母各自出现的次数,并依次放在pp所指数组中。例如,当输入字符串abcdefgabcdeabc后,程序的输出结果应该是:3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0本题采用的是字母的ASCII码值与数组pp下标的对应转换关系分别求出对应字母的个数。第一个for是给pp赋初值0,第二个for用于控制在字符串内从头到尾移动。由于字母'a'的ASCII码值为97而它的个数要放在pp0中,而&#

2、39;a'-97的值正好为0。填空 (1) 1 (2) sk (3) c 改错(1) long s = 0, t = a ;(2) t=t/10;int i;for(i=0;i<26;i+) ppi=0; for(;*tt;tt+) if(*tt<='z' && *tt>='a') pp*tt-97+;2 编写函数fun,该函数的功能是:从字符串中删除指定的字符。同一字母的大、小写按不同字符处理。例如:若程序执行时输入字符串为:turbo c and borland c+ 从键盘上输入字符n,则输出后变为:turbo c

3、 ad borlad c+ 如果输入的字符在字符串中不存在,则字符串照原样输出。填空 (1) next (2) t->data (3) s->next改错(1) fun (char *a)(2) printf("%c",*a) ;int i,k=0;for(i=0;si;i+)if(si!=c) sk+=si; sk='0'3 请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数), 函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。例如,输入:beijing shanghai<CR

4、>(<CR>为回车键),函数将返回shanghai。填空 t=t->next; printf(" %d ",t->data); free(t);改错 void fun (char *a) printf("%c", *a) ;char *ss=s, *tt=t; while(*ss)&&(*tt) ss+; tt+; if(*tt) return(t); else return(s);4 请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。 例如,若输入字符串123412132,输入字

5、符1,则输出3。填空 (1) j+ (2) si=t1i (3) j 改错(1) for (j = i + 1;j < 6;j+)(2) *(pstr + i) = *(pstr + j);int num=0;while(*ss!='0') if(*ss=c) num+; ss+;return(num);5 请编写一个函数void fun(char a,char b,int n),其功能是:删除一个字符串中指定下标的字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。例如,输入一个字符串World,然后输入3,则调用该函数后的结果为Word

6、。填空 (1) i (2) i (3) '0'改错(1) while(fabs(t)>= num)(2) t = s / n ;int i,k=0;for(i=0;ai!='0'i+) if(i!=n) bk+=ai;bk='0'6 请编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行的开始没有空格。fp = fopen(filename, "rb+");fseek(fp, -(long)sizeof(STU),

7、 SEEK_END);fwrite(&n, sizeof(STU), 1, fp);p=(NODE *)malloc(sizeof(NODE);return h; int i,j=0; for(i=0;si!='0'i+) if(si!=' '&&(si+1=' '|si+1='0') j+; return j;7 请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。例如,若字符串数组中的M个字符串为:AAAA BBBBBBBCC则合并后的字

8、符串的内容应是AAAABBBBBBBCC。填空 p = h->next; if (p=0) return; p = q; q = r;改错 r=t; if(*r= 0) int i,j, k=0; for(i=0;i<M;i+) for(j=0;aij!='0'j+) bk+=aij; bk='0'8 请编写函数fun,该函数的功能是:判断字符串是否为回文?若是则函数返回1,主函数中输出YES,否则返回0,主函数中输出N0。回文是指顺读和倒读都一样的字符串。例如,字符串LEVEL是回文,而字符串123312就不是回文。填空 double (*f)()

9、; f = f1 ; f = f2 ;改错 p=h->next; p=p->next;int i,n=0,fg=1; char *p=str;while (*p) n+; p+;for (i=0;i<n/2;i+) if (stri=strn-1-i) ; else fg=0; break;return fg;9 编写一个函数fun,它的功能是:实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。例如,分别输入下面两个字符串:FirstString-SecondString 则程序输出:FirstStringSecondString

10、填空 (1) 0 (2) x*10 (3) n/10改错(1) *t = 0;(2) if (d%2 = 1)int i,j;for(i=0;p1i;i+); for(j=0;p2j;j+) p1i+=p2j;p1i='0'10 请编写一个函数,用来删除字符串中的所有空格。例如,输入asd af aa z67,则输出为asdafaaz67。填空 row=colum= 0; if( (row!=colum) | (row!=m1) ) return 0; return 1;改错 t = t-1.0/i; return t;char *p=str;for(; *str; str+)

11、 if(*str!=' ') *p+=*str;*p='0'11 请编一个函数fun(char *s),该函数的功能是把字符串中的内容逆置。例如:字符串中原有的字符串为abcdefg,则调用该函数后,串中的内容为gfedcba。该题的算法是先分别找出字符串的两头,然后同时逐一往中间移动,每移动一次都进行两字符的位置对换,直到中间字符(用s+i<s+n-1-i来控制)。由于s+i中一个地址,因此要注意把它的内容取出再进行换位。填空 for(j=i+1; j<M; j+) if(nk>nj) k=j; strcpy(ssk,t);改错 void f

12、un(char *str, char ch ) if ( *str = = 0 ) str1 = 0; int i=0,t,n=strlen(s); for(;s+i<s+n-1-i;i+) t=*(s+i);*(s+i)=*(s+n-1-i);*(s+n-1-i)=t;12 编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为:asd asasdfg asd as zx67 asdmklo,子字符串为as,则应输出6。 填空 int fun(char (*ss) N, int *n) if(i=0) *n=len; *n=len;改错 w

13、hile(*w) if(*r = *p)int i,n=0,s=strlen(str);for(i=0;i<s;i+)if(stri=substr0)&&(stri+1=substr1) n+;return n;13 请编写函数fun,该函数的功能是:移动字符串中的内容,移动的规则如下:把第1到第m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。例如,字符串中原有的内容为ABCDEFGHIJK,m的值为3,移动后,字符串中的内容应该是DEFGHIJKABC。填空 double fun(int i, double x, double y) return f1(x); return f2(x, y);改错 char *fun(char *s, char *t) ss+; tt+; int i,j; char t; for(i=1;i<=m;i+) t=w0; for(j=1;wj!='0'j+) wj-1= wj ; wj-1 =t; 14 请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串“-1234”,则函数把它转换为整数值-1234。填空 (1) 10 (2) 0 (3) x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论