计算机二级考试C语言模拟题五套Word文件下载.docx

上传人:b****6 文档编号:16302006 上传时间:2022-11-22 格式:DOCX 页数:25 大小:20.36KB
下载 相关 举报
计算机二级考试C语言模拟题五套Word文件下载.docx_第1页
第1页 / 共25页
计算机二级考试C语言模拟题五套Word文件下载.docx_第2页
第2页 / 共25页
计算机二级考试C语言模拟题五套Word文件下载.docx_第3页
第3页 / 共25页
计算机二级考试C语言模拟题五套Word文件下载.docx_第4页
第4页 / 共25页
计算机二级考试C语言模拟题五套Word文件下载.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

计算机二级考试C语言模拟题五套Word文件下载.docx

《计算机二级考试C语言模拟题五套Word文件下载.docx》由会员分享,可在线阅读,更多相关《计算机二级考试C语言模拟题五套Word文件下载.docx(25页珍藏版)》请在冰豆网上搜索。

计算机二级考试C语言模拟题五套Word文件下载.docx

  h=p=(SLIST*)malloc(sizeof(SLIST));

  for(i=0;

i<

p>

  {q=(SLIST*)malloc(sizeof(SLIST));

  q->

data=a[i];

p->

next=q;

p=q;

  p->

next=0;

  returnh;

  voidoutlist(SLIST*h)

  {SLIST*p;

  p=h->

  if(p==NULL)printf("

\nThelistisNULL!

\n"

);

  else

  {printf("

\nHead"

  do{printf("

->

%d"

p->

data);

p=p->

}while(p!

=NULL);

End\n"

  main()

  {SLIST*head;

  inta[N]={11,12,15,18,19,22,25,29};

  head=creatlist(a);

\nOutputfromhead:

outlist(head);

\nOutputfromtail:

\n"

  while(head->

=NULL){

  fun(head);

\n\n"

\nOutputfromheadagain:

  解题答案:

  /**********第一空**********/

  /**********第二空**********/

t->

  /**********第三空**********/

  free(t);

  ******************************************

  二、改错题:

给定程序MODI1.C中函数fun的功能是:

将字符串中的字符按逆序输出,但不改变字符串中的内容。

  例如,若字符串为abcd,则应输出:

dcba。

  请改正程序中的错误,使它能计算出正确的结果。

不要改动main函数,不得增行或删行,也不得更改程序的结构!

  /************found************/

  fun(chara)

  {if(*a)

  {fun(a+1);

%c"

*a);

  {chars[10]="

abcd"

;

处理前字符串=%s\n处理后字符串="

s);

  fun(s);

printf("

  voidfun(char*a)

*a);

  三、程序题:

请编写一个函数fun,它的功能是:

比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。

若两个字符串长度相同,则返回第一个字符串。

  例如,输入beijingshanghai(为回车键),函数将返回shanghai。

  注意:

部分源程序存在文件PROG1.C中。

  请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

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

  {

  {chara[20],b[20];

  voidNONO();

Input1thstring:

"

  gets(a);

Input2thstring:

  gets(b);

%s\n"

fun(a,b));

  NONO();

  voidNONO()

  {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。

*/

  FILE*fp,*wf;

  inti;

  chara[20],b[20];

  fp=fopen("

in.dat"

"

r"

  wf=fopen("

out.dat"

w"

  for(i=0;

i<

10;

i++){

  fscanf(fp,"

%s%s"

a,b);

  fprintf(wf,"

fun(a,b));

  fclose(fp);

  fclose(wf);

  参考答案:

  inti;

  char*p=s,*q=t;

*p&

&

*q;

  p++;

q++;

  if(*p==0&

*q==0)returns;

  if(*p)returns;

  elsereturnt;

题库7

一、填空题:

给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序链接。

函数fun的功能是:

删除链表中数据域值相同的结点,使之只保留一个。

源程序存放在考生文件夹的BLANK1.C中。

  voidfun(SLIST*h)

  {SLIST*p,*q;

  if(p!

=NULL)

  {q=p->

  while(q!

  {if(p->

data==q->

data)

  {p->

next=q->

  free(___1___);

  q=p->

___2___;

  {p=q;

  q=q->

___3___;

>

inta[N]={1,2,2,3,4,4,4,5};

\nThelistbeforedeleting:

\nThelistafterdeleting:

  free(q);

用选择法对数组中的n个元素按从小到大的顺序进行排序。

  请修改程序中的错误,使它能得出正确的结果。

不要改动main函数,不得增行和删行,也不得更改程序的结构!

  #defineN20

  voidfun(inta[],intn)

  {inti,j,t,p;

  for(j=0;

j<

n-1;

j++){

  p=j

  for(i=j;

i<

n;

i++)

  if(a[i]<

a[p])

  p=j;

  t=a[p];

a[p]=a[j];

a[j]=t;

  inta[N]={9,6,8,3,-1},i,m=5;

排序前的数据:

  for(i=0;

m;

i++)printf("

%d"

a[i]);

  fun(a,m);

排序后的数据:

  p=j;

  p=i;

三、程序题:

求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。

例如,若传送给m的值为50,则程序输出:

  711142122283335424449

  请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入

  你编写的若干语句。

  #defineM100

  voidfun(intm,int*a,int*n)

  {intaa[M],n,k;

  fun(50,aa,&

n);

  for(k=0;

k<

k++)

  if((k+1)%20==0)printf("

  elseprintf("

%4d"

aa[k]);

  NONO();

  inti,n,j,k,aa[M],sum;

%d,"

&

j);

  fun(j,aa,&

  sum=0;

  for(k=0;

n;

k++)sum+=aa[k];

%d\n"

sum);

  *n=0;

  for(i=7;

=m;

  if((i%7==0)||(i%11==0))a[(*n)++]=i;

题库8

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

在带有头结点的单向链表中,查找数据域中值为ch的结点。

找到后通过函数值返回该结点在链表中所处的顺序号;

若不存在值为ch的结点,函数返回0值。

  SLIST*creatlist(char*);

  voidoutlist(SLIST*);

  intfun(SLIST*h,charch)

intn=0;

  while(p!

=___1___)

  {n++;

  if(p->

data==ch)return___2___;

  elsep=p->

  return0;

intk;

charch;

  chara[N]={'

m'

'

p'

g'

a'

w'

x'

r'

d'

};

  outlist(head);

Enteraletter:

  scanf("

&

ch);

  k=fun(___3___);

  if(k==0)printf("

\nNotfound!

Thesequencenumberis:

%d\n"

k);

  SLIST*creatlist(char*a)

  do

}

=0)

data==ch)returnn;

  k=fun(head,ch);

二、改错题:

删除p所指字符串中的所有空白字符(包括制表符、回车符及换行符)。

输入字符串时用'

#'

结束输入。

  请改正程序中的错误,使它能输出正确的结果。

  fun(char*p)

  {inti,t;

charc[80];

  For(i=0,t=0;

p[i];

  if(!

isspace(*(p+i)))c[t++]=p[i];

  c[t]="

\0"

  strcpy(p,c);

  {charc,s[80];

  inti=0;

Inputastring:

  c=getchar();

  while(c!

='

  {s[i]=c;

i++;

c=getchar();

  s[i]='

\0'

  puts(s);

  for(i=0,t=0;

p[i];

  c[t]='

将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。

  例如,若输入"

abc4EFg"

,则应输出"

aBc4EFg"

  请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

  voidfun(char*ss)

  {chartt[81];

\nPleaseenteranstringwithin80characters:

gets(tt);

\n\nAfterchanging,thestring\n\"

%s\"

tt);

  fun(tt);

\nbecomes\n\"

  chartt[81];

%s"

  for(i=1;

strlen(*ss);

i+=2){

  if(ss[i]>

='

&

ss[i]<

z'

)ss[i]-=32;

题库9

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

统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

  SLIST*creatlist(int*a);

  voidfun(SLIST*h,int*n)

  ___1___=0;

  while(p

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

当前位置:首页 > 小学教育 > 语文

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

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