ImageVerifierCode 换一换
格式:DOC , 页数:18 ,大小:125.54KB ,
资源ID:4843887      下载积分:8 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4843887.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(计算机二级考试C语言操作题题库.doc)为本站上传会员【丰****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

计算机二级考试C语言操作题题库.doc

1、 3、月球是距离地球最近的星球直径大约是地球的1/4,质量大约是地球的1/80,月球体积大约是地球的1/49,月球引力大约是地球的1/6。 答:这个垃圾场不仅要能填埋垃圾,而且要能防止周围环境和地下水的污染。 7、月球的明亮部分,上半月朝西,下半月朝东。 6、蚜虫是黄色的,在植物的嫩枝上吸食汁液,每个蚜虫只有针眼般大小,在10倍放大镜下我们可以看清它们的肢体。 4、如何借助大熊座找到北极星?(P58) 7、我们每个人应该怎样保护身边的环境? 二、问答: 1、放大镜为什么能放大物体的图像呢?我们注意到它的特点了吗?(P3) 1、世界是由物质构成的。我们身边的书、橡皮、电灯、大树

2、动物、植物包括我们自己都是由物质构成的。 3、我们在水中发现了什么微生物呢?(P18)1. 下列程序定义了n×n的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][n]),该函数的功能是:使数组左下半三角元素中的值全部置成0。答案: int fun(int a[][N])  {  int I,j;  for(i=0;i<N;i++) for(j=0;j<=I;j++)  a[i][j]=0;  }  2. 请编写函数fun,对长度位7个字符的字符串,除首尾字符外,将其余5个字符按ascii码降序排列。  答案:  void fun(char *s,int

3、 num)  {  char t;  int I,j;  for(i=1;i<num-2;i++)  for(j=i+1;j<num-1;j++) 3. 请编写函数fun,其功能是:将s所指字符串中除了下标为偶数、同时ascii值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的一个数组中。  答案:  void fun(char *s,char t[])  {  int I,j=0,n;  n=strlen(s);  for(i=0;I,n;i++)  if(i%2==0&&s[i]%2==0)  {  t[j]=s[i]; j++;

4、  }  t[j]=‘\0’;  }   4. 请编写函数fun,该函数的功能是:将m行n列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。  答案:  void fun(char (*s)[n],char *b)  { int i,j,k=0;  for(j=0;j<n;j++)  for(i=0;i<m;i++)  { b[k]=*(*(s+i)+j) k++; }  b[k]=‘\0’; }  5.  请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指的数组中,非素数的个数通过k传回。  答案:  void f

5、un(int m,int *k,int xx[])  { int i,j;  int n=0;  for(i=4;i

6、数都放在d[10]中。结果在主函数中输出。  答案:  void fun(int *a,int *b)  { int i,j;  for(j=0;i<m;j++) b[j]=0;  for(i=0;i<n;i++)  if(a>=0&a<=9) b[0]+=1;  else if(a>=10&a<=19) b[1]+=1;  else if(a>=20&a<=29) b[2]+=1;  else if(a>=30&a<=39) b[3]+=1;  else if(a>=40&a<=49) b[4]+=1;  else if(a>=50&a<=59) b[5]+=1; 

7、 else if(a>=60&a<=69) b[6]+=1;  else if(a>=70&a<=79) b[7]+=1;  else if(a>=80&a<=89)  b[8]+=1;  else if(a>=90&a<=99) b[9]+=1;  else  b[10]+=1; }    7.  请编写函数fun,其功能时:将两个两位数的正整数a、b合并形成一个整数放在c中,合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b的十位和个位整数依次放在c数的百位和个位上。  答案:  void fun(int a,int b,long *c)  {

8、 *c=(a%10)*1000+(b/10)*100+(a/10)*10+b%10; }  8.  请编写函数fun,其功能使:将两个两位正整数a b合并形成一个整数放在c中。合并的方式使:将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的千位和十位上。  答案:  void fun(int a,int b,long *c)  { *c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10; }    9.  请编写函数fun,其功能是:将两个两位数的正整数a b合并形成一个整数放在c中。合并的方式是:将a数的

9、十位和个位数依次放在c的十位和千位上,b数的十位和个位数依次放在c数的个位和百位上。  答案:  void fun(int a, int b, long *c)  {  *c=(a%10)*1000+(b%10)*100+(a/10)*10+b/10;  }    10. m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。答案:   int fun(int score[])int m,int below[]  {  int i,k=0,aver=0;  for(i=0;i<

10、m;i++)  aver+=score[i];  aver/=m;  for(i=0;i

11、  s=sqrt(s);  return s;  }      12. 下列程序定义了n×n的二维数组,并在主函数中赋值。请编写函数fun,函数的功能使求出数组周边元素的平均值并作为函数值返回给主函数中的s。答案: double fun(int [][N])  {  int I,j,k=0;  double s=0.0;  for(j=0;j<N;j++)  {  s+=w[0][j];  k++;  }  for(j=0;j<N;j++)  {  s+=w[N-1][j];  k++;  }  for(i=1;i<=N-2;i++)  { 

12、 s+=w[i][0];  k++;  }  for(i=1;i<=N-2;i++)  {  s+=w[i][N-1];  k++;  }  return s/=k;  }  13. n名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:找出学生的最高分,由函数值返回。  答案:  double fun(STREC *h)  {  double max;  STREC *q=h; max=h->s;  Do  {  if(q->s>max) max=q->s;  q=q->next;  

13、}  while(q!=0);  return max;  }    14. 请编写函数fun,其功能是:将s所指字符串中除了下标为奇数、同时ascii值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的一个数组中。  答案:  void fun(char *s,char t[])  {  int I,j=0,n;  n=strlen(s);  for(i=0;I,n;i++)  if(i%2!=0&&s[i]%2!=0)  {  t[j]=s[i]; j++;  }  t[j]=‘\0’;  }   

14、 15. 下列程序定义了n×n的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][n],int n),该函数的功能是:将数组右上半三角元素中的值乘以m。  答案:  void fun(int a[][n],int m)  { int i,j;  for(j=0;j<n;j++)  for(i=0;i<=j;i++)  a[j]=a[j]*m; }   16.  已知学生的记录是由学号和学习成绩构成,n名学生的数据已存入a机构体数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。 

15、 答案:  void fun(stu a[],stu *s)  { int i,max;  max=a[0].s;  for (i=0;i<n;i++)  if(a.s>max)  { max=a.s; *s=a; } }  17.  编写一个函数fun,它的功能是:实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。  答案:  void fun(char p1[],char p2[])  { int i=0,n=0;  char *p=p1,*q=p2;  while (*p)  { p++; 

16、n++; }  i=n;  while(*p)  { p1=*q; q++; i++; }  p1=‘\0’; }    18. 编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。  答案:  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

17、 str++; }  return n; }    19.  请编写函数fun,其功能是:将s所指字符串中下标位偶数同时ascii值为奇数的字符删除,s中剩余的字符形成的新串放在t所指的数组中。  答案:  void fun(char *s,char t[])  { int i,j=0,n=strlen(s);  for(i=0;i<n;i++)  if(i%2==0&s%2!=0)  else  { f[j]=s; j++; }  t[j]=‘\0’; }    20.  请编写函数fun,该函数的功能是:实现b=a+a,即把矩阵a加上a

18、的转置,存放在矩阵b中。计算结果在main函数中输出。  答案:  void fun(int a[3][3],int b[3][3])  { int i,j,at[3][3];  for(i=0;i<=2;i++)  for(j=0;j<=2;j++)  at[j]=a[j];  for(i=0;i<3;i++)  for(j=0;j<3;j++)  b[j]=a[j]+at[j]; }     21.  学生的记录由学号和成绩组称个,n名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分

19、的学生人数通过形参n传回,平均分通过函数值返回。  答案:  double fun(strec *a, strec *b,int *n)  { double aver=0.0;  int i,j=0; *n=0;  for (i=0;i<n;i++) aver+=a.s;  aver/=n;  for(i=0;i<n;i++)  if(a.s<aver)  { b[j]=a; (*n)++; j++;  }  return aver; }    22.  请编写一个函数fun,它的功能是:计算并输出给定整数n的所有因子(不包括1与自身)之和。规定n的值不

20、大于1000。  答案:  int fun(int n)  { int s=0,i;  for(i=2;i<=n-1;i++)  if(n%i==0) s+=i;  return s; }    23.  假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了尾部的*号之外,将字母串中其他*号全部删除。形参p已指向字符串中最后的一个字母。不使用c的字符串函数。  答案:  void fun(char*a,char *p)  { int i=0; char *p=a;  while(q<=p)  { if(*q!=‘*’)  { a

21、q; i++; }  q++; }  while(*q)  { a=*q; i++; q++; }  a=‘\0’; }  24.  学生的记录是由学号和成绩组成,n名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。  答案:  int fun(strec*a,strec *b,int l,int h)  { int i,j=0;  for(i=0;i<n;i++)  if(a.s>=l&a.s<=h)  { b[j]=a; j++; } 

22、 return j; }    25.  编写函数藏服那,它的功能是:求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回。  答案:  double fun(int n)  { double s=0.0;  int i;  for(i=1;i<n;i++)  if(i%3==0&i%7==0) s=s+i;  s=sqrt(s);  return s; }     26.  请编写函数fun,该函数的功能是:将m行n列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参n所指的储存单元中

23、  答案:  void fun(int(*s)[10],int *b,int *n,int mm,int nn)  { int i,j;  for(i=0;i<mm;i++)  for(j=0;j<nn;j++)  { b[*n]=*(*(s+i)+j); *n=*n+1; } }    27.  请别写函数fun,该函数的功能是:将放在字符串数组中的m个字符串(每串的长度不超过n),按顺序合并组成一个新的字符串。  答案:  void fun(char a[m][n],char *b)  { int i,j,k=0;  for(i=0;i<m;i

24、)  { for(j=0;j<n;j++)  if(*(*(a+i)+j))  { b[k]=*(*(a+i)+j) k++; }  else break;  b[k]=‘\0’; } }    28.  请编写函数fun,该函数的功能是:删去一维数组中所有相同的数,使之只剩 一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。  答案:  int fun(int a[],int n)  { int i,t,j=0, *p=a; t=p[0];  for(i=0;i<=n;i++)  if(t==p) ;  else 

25、 { a[j]=t; t=p; j++; }  if(i>=n) a[j]=t;  return j; }    29.  程序定义了n×n的二维数组,并在主函数中自动赋值。请编写函数fun,该函数的功能是:使数组左下半三角元素中的值乘以n。  答案:  fun(int a[][n],int n)  { int i,j;  for(i=0;i<n;i++)  for(j=0;j<=i;j++) a[j]=a[j]*n; }    30.  请编写函数fun,该函数的功能是:统一一含字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词

26、由小写字母组成,单词之间由若干个空格格开,一行的开始没有空格。  答案:  int fun (char *s)  { int i,n=0;  for(i=0;i<strlen(s);i++)  { if(s=‘a’&s<=‘z’&s[i+1]==‘’ ‖s[i+1]==‘\0’) n++; }  return n; }    31.  请编写函数fun,其功能是:将s所指字符串中ascii值为奇数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。  答案:  void fun(char *s,char t[])  { int i,j=0,n;

27、 n=strlen(s);  for(i=0;i<n;i++)  if(s%2==0)  { t[j]=s; j++; }  t[j]=‘\0’; }    32.  请编写函数fun,其功能是:将两位数的正整数a、b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的十位和千位上。  答案:  void fun(int a,int b,long *c)  { *c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10; }    33.  假定输入的字符串中只包含字母

28、和*号。请编写函数fun,它的功能是:删除字符串中所有*号。在编写函数时,不得使用c语言提供的字符串函数。  答案:  void fun(char *a)  {int i=0;char *p=a; while(*p)  { if(*p!=‘*’)  { a=*p; i++; }  p++; }  a=‘\0’; }    34.  学生的记录时由学号和成绩组成,n名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能时:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值

29、返回(用于字符串比较的函数时strcmp)。  答案:  strec fun(strec*,char *b)  { int i;  strec h;  for(i=0;i<n;i++)  if(strcmp(a.num,b)==0)  { h=a; break;  }  else  { h.num==""; h.s=-1; }  return h; }    35.  请编写函数fun,其功能时:计算并输出下列多项式的值: sn=1+1/1!+1/2!+1/3!+1/4!+…+1/n!  答案:  sn=1+1/1!+1/2!+1/3!+1/4!+

30、1/n!  double fun(int n)  { double t,sn=1.0;  int i,j;  for(i=1;i<n;i++)  { t=1.0;  for(j=1;j<=i;j++) t*j;  sn+=1.0/t; }  return sn; }    36.  学生得记录由学号和成绩组称个,n名大学生得数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能时:按分数的高低排列学生的记录,高分在前。  答案:  void fun(strec a[])  { int i,j;  strec t;  for(i=0

31、i

32、0)  ss=ss-32; ss=‘\0’; }    38.  请编写一个函数fun,它的功能时:求fibonacci数列中大于t的最小的一个数,结果由函数返回。其中fibonacci数列f(n)的定义为: f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2)  答案:  f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2)  int fun(int t)  { int a=1,b=1,c=0,i;  for(i=4;i<=t;i++)  { if(c<t) {c=a+b; a=b; b=c; }  else break;

33、}  return c; }    39.  编写函数fun,它的功能时:计算并输出下列级数和: s=1/1*2+1/2*3+…+1/n(n+1)  答案:  double fun (int n)  { double s=0.0;  int i;  for(i=1;i<=n;i++) s=s+1.0/(i*(i+1));  return s; }    40.  请编写函数fun,其功能是:将s所指字符串中下标为偶数的字符删除,串中剩余字符形成新串放在t所指数组中。  答案:  void fun(char *s,char t[])  { int i,j=

34、0,n=strlen(s);  for(i=0;i<n;i++)  if(i%2!=0)  { t[j]=s; j++; }  t[j]=‘\0’; }    41.  假定输入的字符串中只包含字母和*号,请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参h已指向字符串第一个字符,形参p已指向字符串中最后一个字母。在编写程序时,不得使用c语言提供的字符串函数。  答案:  void fun(char *a,char *h,char *p)  { int i=0; char *q=a;  while(q

35、a=*q; q++; i++; }  while(q

36、min;  min=a[0].s;  for(i=0;i<n;i++)  if(a.s<min) min=a.s;  for(i=0;i<n;i++)  if(a.s==min)  { *(b+j)=a; j++; n++; }  return n; }    43.  请编写函数fun ,该函数的功能:将m行n列的二维数组中的数据,按列的顺学依次放到一维数组中。  答案:  void fun(int (*s)[]10,int *b,int *n,int mm,int nn)  { int i,j;  for(j=0;j<nn;j++)  for(i=

37、0;i<mm;i++)  { b[*n]=*(*(s+i)+j);  *n=*n+1; } }    44. 请编写函数fun,其功能时:计算并输出当x<0.97时下列多项式的值,直到|sn-s(n-1)|<0.000001为止。  Sn=1+0.5x+0.5(0.5-1)/2!x(2)+…+0.5(0.5-1)(0.5-2)…..(0.5-n+1)/n!x(n)  答案:  double fun(double x)  { double s1=1.0,p=1.0,sum=0.0,s0,t=1.0;  int n=1; do  { s0=s1; sum+=s0;

38、 t*=n;  p*=(0.5-n+1)*x; s1=p/t;  n++; } while(fabs(s1-s0)>1e-6);  return sum; }    45.  请编写一个函数fun,其功能是:将两个两位数的正整数ab合并形成一个整数放在c中。合并方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上。  答案:  void fun(int a,int b,long *c)  { *c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10; }    46.  请编写函数fun

39、其功能是:将s所指字符串中ascii值为偶数的字符删除,串 中剩余字符形成一个新串放在t所指的数组中。  答案:  void fun(char *s,char t[])  { int i,j=0,n=strlen(s);  for(i=0;i<n;i++)  if (s%2!=0)  { t[j]=s; j++; }  t[j]=‘\0’; }    47. 请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数 m且紧靠m的k各素数存入xx所指的数组中。答案: void fun(int m, int k, 

40、int xx[])  {  int g=0,I,j,flag=1;  for(i=m+1;i=i)  {  if (k>=0)  {  xx[g++]=i;  k--;  }  else  break;  }  }  }  48.  已知学生的记录由学号和学习成绩构成,n名学生的数据已存入a结构体数组中。请编写函数fun,该函数的

41、功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。  答案:  void fun(stu a[],stu *s)  { int i,min;  min=a[0].s;  for(i=0;i<n;i++)  if(a.s<min)  { min=a.s; *s=a; } }    49.  n名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的 头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。  答案:  double fun(strec *h)  { double aver=0.0;  while(h

42、null)  { aver+=h->s;  hy=h->next; }  aver/=n;  return aver; }    50.  请编写函数fun,计算并输出给定10个数的方差。  答案:  double fun(double x[10])  { int i,j;  double s=0.0,s1=0.0;  for(i=0;i<10;i++) s1+=x;  s1/=10;  for(j=0;j<10;j++)  s+=(x[j]-s1)*(x[j]-s1);  s/=10;  s=pow(s,0.5);  return s;

43、 }    5 1. 请编写函数fun,其功能是:将两个两位数的正整数a b合并形成一个整数放在c 中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的个位和百位上。  答案:  void fun(int a,int b,long *c)  { *c=(a/10)*1000+(a%10)*10+(b%10)*100+b/10; }    52.  假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其他*号全部删除。在编写函数亚时,不得使用c语言提供的字符串函数。  答案: 

44、 void fun(char *a)  { int i=0;  char *p=a;  while(*p&&*p==‘*’)  { a=*p; i++;  p++; }  while(*p)  { if(*p!=‘*’)  { a=*p; i++;} p++; }  a=‘\0’; }    53.  学生的记录是由学号和成绩组成,n名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。  答案:  double fu

45、n(strec *a,strec *b,int *n)  { double aver=0.0;  int i,j=0;  for(i=0;i<n;i++) aver+=a.s;  aver/=n;  for(i=0;i<n;i++)  if(a.s)>=aver}  { *(b+j)=a; j++; }  *n=j;  return aver; }    54.  请编写函数fun,其功能是:计算并输出下列多项式值:sn=(1-1/2)+(1/3-1/4)+…+(1/(2n-1)1/2n).  答案:  sn=(1-1/2)+(1/3-1/4)+...+(

46、1/(2n-1)1/2n).  double fun(int n)  { int i;  double sn=0.0;  for(i=1;i<=n;i++)  sn+=(1.0/(2*i-1)-1.0/(2*i));  return sn; }    55. 请编写函数fun,它的功能是:求出1到100之内能被7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。 答案: Void fun(int *a, int *n)  {  int i,j=0;  for(i=2;i<1000;i++)  if ((

47、i%7==0 || i%11==0) && i%77!=0)  a[j++]=i;  *n=j;  }    56. 请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。 答案: void fun(int x, int pp[ ], int *n)  {  int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)  if(i%2!=0)  {  t[j]=I;  j++;  }  for(i=0;i<

48、j;i++)  if(x%t[i]==0)  {  pp[k]=t[i];  k++;  }  *n=k;  }    57. 请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到 "z"26各字母各自出现的次数,并依次放在pp所指的数组中。答案: void fun(char *tt, int pp[])  {  int i;  for (i=0;i<26;i++)  pp[i]=0;  while (*tt)  {  switch (*tt)  {  case ‘a’: pp[0]++; break

49、 case ‘b’: pp[1]++;break; case ‘c’: pp[2]++;break; case ‘d’: pp[3]++;break;  case ‘e’: pp[4]++;break; case ‘f’: pp[5]++;break; case ‘g’: pp[6]++;break; case ‘h’: pp[7]++;break; case ‘i’: pp[8]++;break; case ‘j’: pp[9]++;break; case ‘k’: pp[10]++;break; case ‘l’: pp[11]++;break; case ‘m

50、’: pp[12]++;break; case ‘n’: pp[12]++;break;  case ‘o’: pp[14]++;break; case ‘p’: pp[15]++;break; case ‘q’: pp[16]++;break; case ‘r’: pp[17]++;break; case ‘s’: pp[18]++;break; case ‘t’: pp[19]++;break; case ‘u’: pp[20]++;break; case ‘v’: pp[21]++;break; case ‘w’: pp[22]++;break; case ‘x’:

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服