计算机二级C语言上机题型总结---新.doc_第1页
计算机二级C语言上机题型总结---新.doc_第2页
计算机二级C语言上机题型总结---新.doc_第3页
计算机二级C语言上机题型总结---新.doc_第4页
计算机二级C语言上机题型总结---新.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

计算机二级C语言上机题型总结(一)“*”问题1、将字符串中的前导*号全部删除,中间和后面的*号不删除。void fun(char *a)char *p=a;while(*p=*) p+;for( ; *p!=0;p+,a+) *a=*p;*a=0;2、只删中间*#include void main() char a81=*plpkj*123*mmkk*lkj*; puts(a);int i=0; char *h=a,*p=a;while(*p!=0) p+;dop-;while (*p=*);for(i=0;ai=*;i+) h+;for( ;hp;h+) if(*h!=*) ai+=*h;for( ;*p;p+) ai+=*p;ai=0;puts(a);3、只删尾*#include void main() char a81=*plpkj*123*mmkk*lkj*; puts(a); char *p=a;while(*p!=0) p+;p-;while(*p=*) p-;*(p+1)=0;puts(a);(二)移动问题1、若一维数组中有n个整数,要求把下标从p到n-1(p=n-1)的元素平移到数组前面。int i,j,t;for(i=p;i=0;j-)wj+1=wj;w0=t;2、把下标从0到p(p=n-1)的元素平移到数组最后。int i,j,t;for(i=0;i=p;i+) t=w0; for(j=1;jn;j+) wj-1=wj; wj-1=t;3、把字符串str中的字符向前移动,原来第1个字符放串尾,结果仍保存在原串中。ch=str0;for(i=0;stri+1;i+) stri=stri+1;stri=ch;4、移动字符串中的内容,把第1到第m个字符平移到串后,把第m+1到后移到前。void fun(char *w, int m) 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;(三)Fibonacci问题1、求Fibonacci数列中小于t的最大的一个数,结果由函数返回。int fun(int t) int a=1,b=1,c=0,i; doc=a+b; a=b; b=c;while(c2) return(fun(g-1)+fun(g-2);(四)素数问题1、将大于整数m且紧靠m的k个非素数存入所指的数组中。void fun(int m,int k,int xx) int i,j,n; for(i=m+1,n=0;nk;i+) for(j=2;ji;j+) if(i%j=0) xxn+=i;break;2、小于或等于lim的所有素数放在aa数组中,该函数返回所求出的素数个数。int fun(int lim, int aaMAX) int i,j,k=0; for(i=2;i=lim;i+) for(j=2;j=i) aak+=i;return k;3、将所有大于1小于整数m的非素数存入xx数组中,个数通过k传回。void fun(int m,int *k,int xx) int i,j,n=0; for(i=4;im;i+) for(j=2;ji;j+) if(i%j= =0) break; if(ji) xxn+=i;*k=n;或int i, j,t,n=0; for(i=2;im;i+) t=1; for(j=2;ji;j+)if(i%j=0)t=0;break;if(t=1) xxn+=I;*k=n;(五)删除相同数int fun(int a,int n) int i, j=1;for(i=1;in;i+)if(aj-1!=ai)aj+=ai;return j;或 int i,t,j=0;t=a0;for(i=1;in;i+) if(t=ai) ; else aj+=t;t=ai;aj+=t;return j;(七)统计字符个数,单词个数。1、按0到9统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组num中。void fun(char *tt, int num) int i, j;int bb10;char *p=tt;for(i=0;i=0&*p=9) bb*p-0+; p+;for(i=1,j=0;i10;i=i+2,j+) numj=bbi;2、str全部由小写字母和空格字符组成的字符串,num传入字符串长度。统计单词个数。void fun(char *s, int *num) int I, n=0;for(i=0;i=a&ssi=z&(si+1= =| si+1=0) n+;*num=n;3、从a到z统计一个字符串中所有字母字符各自出现的次数,结果存在数组alf中。void fun( char *tt, int alf) int i;char *p=tt;for(i=0;i=A&*p=a&*p=z) alf*p-a+; p+;4、str字符序列由字符0和1组成。查找0字符连续出现的最长长度,若有几个0字符长度相同,只记录最后1个0字符串相关信息,通过m和k返回最长0字符长度和其下标。void fun(char *str, int *m, int *k) int i, j=0;int bbN;char *p=str;*m=0;*k=0;for(i=0;iN;i+) bbi=0;i=0;while(*(p+i) if(*(p+i)=0) bbj+;i+; else j+;i+; if(*m=bbj) *m=bbj; *k=i-1;5、统计在tt字符串中”a”到”z”26个字母各自出现的次数,并依次放在pp所指数组中。void fun( char *tt,int pp)int i;for(i=0;i=a&*tt=z) pp*tt-a+;6、统计一个长度为n的字符串在另一个字符串中出现的次数。int fun(char *str, char *substr)int n;char *p,*r;n=0;while(*str)p=str; r=substr; while(*r) if(*r=*p) r+;p+; else break; if(*r=0) n+; str+;return n;7、求出ss所指字符串中指定字符的个数,并返回此值。int fun( char *ss, char c) int i=0;for( ;*ss!=0;ss+) if(*ss=c) i+;return i;8、统计一个长度为2的字符串在另一个字符串中出现的次数。int fun( char *str, char *substr)int i,j=0;for(i=0;stri+1!=0;i+) if(stri=substr0&stri+1=substr1) j+; return j;(七)进制转换1、把str字符串转换成任意进制的数。 x:原进制;y:要转换成的进制。int fun(char *str, int x, int y) int sum;int i=0;char *p=str;for(i=0;iN;i+)xxi=0;sum=*p-0;p+;while(*p) sum=sum*x+*p-0;p+; i=0;while(sum!=0) xxi=sum%y;sum=sum/y;i+;return i;注:(1) 将x转换成10进制:sum=sum*x+*p-0;(2) 将10进制转换成y: sum%y 得到y进制数的最低位。 sum/y 得到y进制数的次低位。2、str字符串由0和1组成。转换成十进制数。int fun(char *str) int n;char *p=str;n=*p-0;p+;while(*p) n=n*2+*p-0; p+;return n;(八)比较字符串长度1、比较两个字符串的长度,函数返回较短的字符串。char *fun(char *s, char *t)int i,j;for(i=0;si!=0;i+);for(j=0;tj!=0;j+); if(i=j) return s; else return t;2、从传入的num个字符中找出最长的一个字符串,通过形参指针max传回该串地址。fun(char (*a)81, int num,char *max) int i=0;max=a0;for(i=0;inum;i+) if(strlen(max)strlen(ai) max=ai;return max;(九)最大公约数,最小公倍数1、int fun(int a, int b) int r,t;i

温馨提示

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

评论

0/150

提交评论