最新计算计二级上机题库.docx

上传人:b****6 文档编号:5022120 上传时间:2022-12-12 格式:DOCX 页数:66 大小:47.63KB
下载 相关 举报
最新计算计二级上机题库.docx_第1页
第1页 / 共66页
最新计算计二级上机题库.docx_第2页
第2页 / 共66页
最新计算计二级上机题库.docx_第3页
第3页 / 共66页
最新计算计二级上机题库.docx_第4页
第4页 / 共66页
最新计算计二级上机题库.docx_第5页
第5页 / 共66页
点击查看更多>>
下载资源
资源描述

最新计算计二级上机题库.docx

《最新计算计二级上机题库.docx》由会员分享,可在线阅读,更多相关《最新计算计二级上机题库.docx(66页珍藏版)》请在冰豆网上搜索。

最新计算计二级上机题库.docx

最新计算计二级上机题库

计算机二级C

  1若形参e的值为le-3,则函数返回值为0.551690

  答案:

(1)3.0

(2)>(3)(t+1)

  2若n=5,则应输出8.391667

  答案:

(1)doublefun(intn)

(2)s=s+(double)a/b;

  3编写函数fun,其功能是:

找出2xM整型二维数组中最大元素的值,并将此值返回调用函数

  答案:

intfun(inta[][M])

  {inti,j,max=a[0][0];

  for(i=0;i<2;i++)

  for(j=0;j

  if(max

  max=a[i][j];

  returnmax;

  }

  4.当形参n的值为10时,函数返回值为9.612558

  

答案:

(1)0

(2)n(3)(t*t)

  5若字符串为aaas1kaaas,子字符串为as,则应输出2

  答案:

(1)for(i=0;str[i];i++)

(2)if(substr[k+1]=='\0')

  6程序运行后,若输入精度0.0005,则程序应输出为3.14……

  答案:

doublefun(doubleeps)

  {doubles=1.0,s1=1.0;

  intn=1;

  while(s1>=eps)

  {s1=s1*n/(2*n+1);

  s=s+s1;n++;}

  return2*s;

  }

  7若形参s所指的字符串为“abcdef35adgh3kjsdf7”,则输出结果为4。

  答案:

(1)s[i]

(2)'9'(3)*t=n

  8.变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8

  答案:

(1)t=*x;*x=y;

(2)return(t);

  9求出1~1000能被7或11整除,但不能同时被7和11整除的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数

  答案:

voidfun(int*a,int*n)

  {inti,j=0;

  for(i=1;i<=1000;i++)

  if((i%7==0||i%11==0)&&i%77!

=0)

  a[j++]=i;

  *n=j;

  }

  

  10.若a所指的数组中的数据最初排列为:

9,1,4,2,3,6,5,8,7,删除偶数后a所指数组中的数据:

9,1,3,5,7,返回值为5

  答案:

(1)1

(2)j++(3)j

  11.若num1和num2分别为49和21,则输出的最大公约数为7;若num1和num2分别为27和81,则输出的最大公约数为27

  答案:

(1)t=a;a=b;b=t;

(2)return(b);

  

  12.规定输入的字符串中只包含字母和*号。

编写函数fun,其功能是:

删除字符串中所有的*号。

编写函数时,不得使用C误言提供的字符串函数。

  如,字符串中的内容为“****A*BC*DEF*G******”,删除后,字符串中的内容应当是“ABCDEFG”

  答案:

voidfun(char*a)

  {inti,j=0;

  for(i=0;a[i]!

='\0';i++)

  if(a[i]!

='*')

  a[j++]=a[i];

  a[j]='\0';

  }

  

  13.输入一个整数27638496,函数返回值为64862

  答案:

(1)0

(2)10*x(3)n/10

  

  14.当s中的数为87653142时,t中的数为7531

  答案:

(1)*t=0;

(2)if(d%2!

=0)

  

  15.分别输入下面两个符串:

  “FirstString—”

  “SecondString”

  程序输出:

  “FirstString—SecondSrting”

  答案:

voidfun(charp1[],charp2[])

  {inti,j;

  for(i=0;p1[i]!

='\0';i++);

  for(j=0;p2[j]!

='\0';j++)

  p1[i++]=p2[j];

  p1[i]='\0';

  }

  

  16.若a所指数组中的数据排列为:

9,1,4,2,3,6,5,8,7;则按规则移动后,数据排列为:

1,9,2,8,3,7,4,6,5。

形参n中存放a所指数组中数据的个数。

  答案:

(1)a[i]

(2)a[j](3)a[j]

  

  17.若给n输入7,则该项的斐波拉契数值为13

  

(1)去掉分号

(2)case1:

case2:

return1;

  18.学生的成绩是:

85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应为78.875

  答案:

voidfun(STREC*a)

  {inti;

  a->ave=0.0;

  for(i=0;i

  a->ave=a->ave+a->s[i];

  a->ave/=N;

  }

  

  19.若形参ch中是数字字符‘0’~‘9’,则将‘0’转换成‘9’,‘1’,转换成‘8’,‘2’转换成‘7’,……‘9’转换成‘0’:

若是其他字符则保持不变;并将转换后的结果作为函数值返回

  答案:

(1)char

(2)ch<='9'(3)'0'

  

  20每复制三个字符后插入一个空格。

.若给a输入字符串“ABCDEFGHIJK”,调用函数后,字符数组b中的内容为:

“ABCDEFGHIJK”。

  答案:

(1)b[k]=*p;

(2)b[k]='';k++;

  

  21.若学生的成绩是:

85,76,69,91,72,64,87,则平均分应当是:

78.625

  答案:

doublefun(STREC*h)

  {doubleave=0.0;

  STREC*p=h->next;

  while(p!

=NULL)

  {ave=ave+p->s;

  p=p->next;

  }

  returnave/N;

  }

  22函数fun的功能是:

求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数返回,并把其串长放在形参n所指的变量中。

ss所指字符串数组中共有M个字符串,且串长小于N

  答案:

(1)M

(2)<(3)k

  

  23若输入“Ab,cD”,则输出“AB,CD”

  答案:

(1)if((tt[i]>='a')&&(tt[i]<='z'))

  

(2)tt[i]-=32;

 

 24若输入17,则应输出:

46891012141516

  

答案:

voidfun(intm,int*k,intxx[])

  {inti,j,n=0;

  for(i=4;i

  {for(j=2;j

  if(i%j==0)break;

  if(j

  }

  *k=n;}

  25所有数字字符移到非数字字符之后

  答案:

(1)j++

(2)s[i]=t1[i](3)j

 

 26用冒泡法对6个字符串进行升序排列

  答案:

(1)for(j=i+1;j<6;j++)

(2)*(pstr+i)=*(pstr+j);

  27求ss所指字符串中指定字符的个数

  答案:

intfun(char*ss,charc)

  {inti=0;

  for(;*ss!

='\0';ss++)

  if(*ss==c)

  i++;

  returni;

  }

  28把形参x的值放入一个新结点并插入链表中,使插入后各结点数据中的数据仍保持递增有序。

答案:

(1)x

(2)p(3)s

  29若输入252,则输出应该是20。

若输入202,则输出应该是0

答案:

  

(1)longk=1;

(2)num/=10;

  30函数的值为:

71.80

答案:

  floatfun(float*a,intn)

  {inti;

  floatav=0.0;

  for(i=0;i

  av=av+a[i];return(av/n);/

  }

  

  

  31前半部分中元素的值与后半部分元素中的值对换

  答案:

(1)1

(2)i(3)a[p+i]或*(a+p+i)

  32若输入的数为:

551234,输出的结果应当是:

a=55.0,b=34.0,c=12.0

  答案:

(1)floatk;

(2)if(*a<*c)

  33请编写函数fun,其功能是:

把分数最高的学生数据放在b所指的数组中,分数最高的学生可能不止一个

  答案:

intfun(STREC*a,STREC*b)

  {inti,j=0,max=a[0].s;

  for(i=0;i

  if(max

  for(i=0;i

  if(max==a[i].s)

  b[j++]=a[i];

  returnj;

  }

  

  34下列给定程序中,函数fun的功能是:

从形参ss所指字符串数组中,删除所的串长超过k的字符串,函数返回剩余字符串的个数。

  答案:

(1)N

(2)k(3)ss[i]

  

  35若主函数中a字符串为“aBCDeFgH”,b字符串为“Abcd”,则c中的字符串应为“aBcdeFgH

答案:

  

(1)intk=0;

(2)while(*p||*q)

  

  36字符串中的内容为“****A*BC*DEF*G******”,删除后,字符串中的内容应当是“****ABCDEFG”。

答案:

  voidfun(char*a)

  {inti=0;

  char*p=a;

  while(*p&&*p=='*')

  {a[i]=*p;i++;p++;}

  while(*p)

  {if(*p!

='*')

  {a[i]=*p;i++;}

  p++;

  }

  a[i]='\0';

  }

  

  37形参s所指字符串为“abcdefgh”,执行结果为“ah-cbedgf”

  答案:

(1)1

(2)s[k](3)c

  38a=3,n=6,则以上表达为:

s=333333-33333-3333-333-33-3其值是296298

  答案:

(1)longs=0,t=0;

(2)t=t/10;

  39当输入字符串:

abcdefgabcdeabc”后,程序的输出结果应该是:

33322110000000000000000000

 答案:

 voidfun(char*tt,intpp[])

  {inti;

  for(i=0;i<26;i++)

  pp[i]=0;

  for(;*tt!

='\0';tt++)

  if(*tt>='a'&&*tt<='z')

  pp[*tt-'a']++;

  }

  

  第14套

  1函数fun的功能是:

在形参ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串数组中位置(即下标值),若未找到则返回-1。

ss所指字符串组中共有N个内容不同的字符串,且串长小于M

  答案:

(1)N

(2)i(3)-1

  

  2从整数1~55,查找能被3整除且有一位上的数值是5的数,把这些数放在b所指的数组中,这些数的个数作为函数值返回。

规定函数中al放个数,a2放十位数

答案:

(1)a2=k/10;

(2)returni;

  

  3字符串中的内容为“****A*BC*DEF*G******”,删除后,字符串中的内容应当是“****A*BC*DEF*G”。

在编写函数时,不得使用C语言提供的字符串函数

 

 答案:

voidfun(char*a)

  {while(*a!

='\0')

  a++;a--;

  while(*a=='*')

  a--;*(a+1)='\0';}

  第15套

  1下列给程序中已建立了一个带头结点的单向链表,在main函数中将多次调用fun函数,第调用一次,输出链表尾部结点中的数据,并释放该结点,使链表缩短

  

答案:

(1)next

(2)t->data(3)t

  

  2若字符串为“abcd”,则应输出:

“dcba”

  答案:

(1)voidfun(char*a)

(2)printf("%c",*a);

  

  3如输入“beijing”为Enter键),函数将返回“shanghai”

  

答案:

char*fun(char*s,char*t)

  {inti,j;

  for(i=0;s[i]!

='\0';i++);

  for(j=0;t[j]!

='\0';j++);

  if(i<=j)returnt;

  elsereturns;}

  

第16套

  

1若a所指数组中的数据为:

1,2,3,4,5,6,7,8,9,则逆置后依次为:

9,8,7,6,5,4,3,2,1。

形参n给出数组中数据的个数

  答案:

(1)n/2

(2)i(3)a[n-i-1]

  

  2若输入77777,则输出32767

  答案:

(1)n=*p-'0';

(2)n=n*8+*p-'0';

  

  3学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中。

请编写函数fun,其功能是:

函数返回该学号的学生数据,指定的学号在主函数中输入。

若没找到指定学号,在结构体变量中给学号置空号置空串,给成绩-1,作为函数值返回(用于字符串比较的函数是strcmp)

  

答案:

STRECfun(STREC*a,char*b)

  {inti;

  STRECstr={"\0",-1};

  for(i=0;i

  if(strcmp(a[i].num,b)==0)

  str=a[i];

  returnstr;

 

 第17套

  1下列给定程序的功能是:

调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回1,失败时返回0。

在复制的过程中,把复制的内容输出到屏幕。

主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。

  答案:

(1)"r"

(2)fs(3)ft

  

  2当s中的数为87653142时,t中的数为8642

  答案:

(1)if(d%2==0)

(2)s/=10;

  

  3当a=45,b=12时,调用该函数后,c=5142

  

答案:

voidfun(inta,intb,long*c)

  {*c=b%10+(a/10)*10+(b/10)*100+(a%10)*1000;}

  第18套

  1如,N=3,M=2,有下列矩阵

  123

  456

  789

  程序执行结果为

  001

  004

  007

  答案:

(1)i++

(2)m(3)m

  

  2若high的值为100,则函数的值为732

  答案:

(1)while((high>=2)&&(n<10))

(2)yes=0;break;

  3编写函数fun,其功能是:

利用下面的简单迭代方法求方程cos(x)-x=0的一个实根。

  xn-1=cos(xn)

  迭代步骤如下:

  

(1)取x1初值为0.0

  

(2)x0=x1,将x1的值赋给x0

  (3)x1=cos(x0),求出一个新的x1

  (4)若x0-x1的绝对值小于0.000001,执行步聚(5)否则执行步聚

(2)

  (5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回

  程序将输出结果Root=0.739086

答案:

  doublefun()

  {doublex0,x1;

  x1=0.0;

  do

  {x0=x1;x1=cos(x0);

  }while(fabs(x0-x1)>=1e-6);

  returnx1;

  }

  

  第19套

  1如,a所指变量中的学号、姓名和三门课的成绩依次是:

10001、“ZhangSan”、95、80、88,则修改后输出b中的数据应为:

10002、“LiSi”、95、80、88

  

答案:

(1)a

(2)b.name(3)score[i]

  

  2下列给定程序中函数fun的功能是:

删除s所指字符中所有的小写字母c

  答案:

(1)s[j++]=s[i];

(2)s[j]='\0'

  3如,字符串中的内容为:

“******A*BC*CEF*G****”,移动后,字符串中的内容应当是“A*BC*DEF*G***********”。

在编写函数时,不得使用C语言提供的字符串函数

  

答案:

voidfun(char*a)

  {inti=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';}

  

  第20套

  1从键盘输入若干行字符串(每行不超过80个字符),写入文件myfile4.txt中,用-1作字符串输入结束的标志,然后将文件的内容显示在屏幕上。

文件的读写分别由函数ReadText和WriteText实现

  答案:

(1)*fw

(2)str(3)str

  

  2当s中的数为7654321时,t中的数为7531

  答案:

(1)voidfun(longs,long*t)

(2)sl=sl*10;

  

  3当a=45,b=12时,调用该函数后,c=1524

答案:

  voidfun(inta,intb,long*c)

  {*c=a/10+(b%10)*10+(a%10)*100+(b/10)*1000;}

  

  第21套

  1若N=3,有下列矩阵

  123

  456

  789

  操作后应为:

  741

  852

  963

  

答案:

(1)0

(2)j--(3)j

  

  2当n的值为5时,函数值应为10.407143

 答案:

 

(1)doublef(doublex)

(2)returns;

  3若m的值为20,则fun函数值为6.506583

  答案:

doublefun(intm)

  {inti;

  doubles=0.0;

  for(i=1;i<=m;i++)

  s=s+log(i);returnsqrt(s);

  }

  

  第22套

  1下列给定程序中,函数fun的功能是:

在形参ss所指字符串数组中,查找含有形参substr所指子串的所有字符串,并输出,若没找到则输出相应信息。

ss所指字符串数组中共有N个字符串,且串长小于M。

程序中库函数strstr(s1,s2)的功能是在s1串中查找s2子串,若没有,函数值为0;若有,函数值为非0

  答案:

(1)N

(2)substr(3)0

  

  2若给主函数中的变量x1、x2、x3、分别输入15,11,2,则输出结果应当是330

  答案:

(1)fun(intx,inty,intz)

(2)returnj;

  

  3字符串中的内容为“*****A*BC*DEF*G*******”删除后,字符串中的内容应当是“A*CB*DEF*G”

 答案:

 voidfun(char*a,intn,inth,inte)

  {inti,j=0;

  for(i=h;i

  a[j++]=a[i];a[j]='\0';}

  

  第23套

  1下列给定程序中,函数fun的功能是:

计算一个带头结点的单向链表中各结点的数据域中数值之和,结果作为函数值返回。

  答案:

1)data

(2)next(3)head

  

  2当s所指字符串中的内容为“abcdabfab”,t1所指子串中的内空为“ab”,t2所指子串中的内容为“99”时,在w所指的数组中的内容应为“99cf99f99“

  答案:

(1)while(*r)

(2){*a=*r;a++;r++;}

  

  3当s所指字符串中的内容为“ABCDEFGHIJK”时,在t所指数组中的内容应是“BDFHJ”

 

 答案:

voidfun(char*s,chart[])

  {inti,j=0,k=strlen(s);

  for(i=1;i

  t[j++]=s[i];

  t[j]='\0';}

  

  

  第24套

  1a所指变量s中的学号、姓名和3门课的成绩依次是:

10001、“ZhangSan“、95、80、88、,修改后输出t中的数据应为:

10002、“LiSi“、96、81、89

   答案

(1)structstudent*

(2)a->score[i](3)a

  

  2下列给定程序中函数fun的功能是:

从N个字符串中找出最长的串,并将其地址作为函数值返回。

各字符串在主函数中输入,并放入一个字符串数组中

   答案

(1)char*fun(char(*sq)[M])

(2)returnsp;

  

  3当a=45,b=12,调用该函数后c=2415

   答案

voidfun(inta,intb,long*c)

  {*c=a%10+(b/10)*10+(a/10)*100+(b%10)*1000;}

  

  第25套

  1若N=3,有下列矩阵

  123

  456

  789

  交换后为:

  321

  6

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 教育学心理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1