最新计算机二级c语言上机题库及答案填空类 精品文档格式.docx

上传人:b****6 文档编号:21127914 上传时间:2023-01-27 格式:DOCX 页数:130 大小:71.71KB
下载 相关 举报
最新计算机二级c语言上机题库及答案填空类 精品文档格式.docx_第1页
第1页 / 共130页
最新计算机二级c语言上机题库及答案填空类 精品文档格式.docx_第2页
第2页 / 共130页
最新计算机二级c语言上机题库及答案填空类 精品文档格式.docx_第3页
第3页 / 共130页
最新计算机二级c语言上机题库及答案填空类 精品文档格式.docx_第4页
第4页 / 共130页
最新计算机二级c语言上机题库及答案填空类 精品文档格式.docx_第5页
第5页 / 共130页
点击查看更多>>
下载资源
资源描述

最新计算机二级c语言上机题库及答案填空类 精品文档格式.docx

《最新计算机二级c语言上机题库及答案填空类 精品文档格式.docx》由会员分享,可在线阅读,更多相关《最新计算机二级c语言上机题库及答案填空类 精品文档格式.docx(130页珍藏版)》请在冰豆网上搜索。

最新计算机二级c语言上机题库及答案填空类 精品文档格式.docx

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

计算如下公式前n项的和并作为函数值返回。

 

例如,当形参n的值为10时,函数返回值为9.612558。

doublefun(intn)   

{inti;

doubles,t;

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

s=__1__;

for(i=1;

i<

=__2__;

i++)  

{t=2.0*i;

s=s+(2.0*i-1)*(2.0*i+1)/__3__;

} 

main()  

{intn=-1;

while(n<

0) 

{printf("

Pleaseinput(n>

0):

"

);

scanf("

%d"

&

n);

fun(n));

【参考答案】 

(1)0  

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

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

统计形参s所指的字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。

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

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

voidfun(char*s,int*t) 

{inti,n;

n=0;

for(i=0;

___1___!

=0;

if(s[i]>

='

0'

&

s[i]<

=___2___)n++;

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

___3___;

}   

main()   

{chars[80]="

abcdef35adgh3kjsdf7"

;

intt;

\nTheoriginalstringis:

%s\n"

s);

fun(s,&

t);

\nTheresultis:

%d\n"

t);

}  

(1)s[i]  

(2)'

9'

  (3)*t=n   

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

把形参a所指数组中的奇数按原顺序依次存放到a[0]、a[1]、a[2]、……中,把偶数从数组中删除,奇数个数通过函数值返回。

例如:

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

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

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

#defineN9  

intfun(inta[],intn)  

{inti,j;

j=0;

for(i=0;

n;

if(a[i]%2==___1___)   

{   

a[j]=a[i];

___2___;

return___3___;

{intb[N]={9,1,4,2,3,6,5,8,7},i,n;

\nTheoriginaldata:

\n"

N;

i++)printf("

%4d"

b[i]);

n=fun(b,N);

\nThenumberofodd:

%d\n"

n);

\nTheoddnumber:

i++)printf("

(1)1  

(2)j++  (3)j   

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

将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。

例如,输入一个整数27638496,函数返回值为64862。

填空  

unsignedlongfun(unsignedlongn) 

{unsignedlongx=0;

while(n) 

{t=n%10;

if(t%2==____1____) 

x=____2____+t;

n=____3____;

returnx;

{unsignedlongn=-1;

while(n>

99999999||n<

0)   

Pleaseinput(0<

n<

100000000):

%ld"

}   

%ld\n"

【参考答案】  

(1)0  

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

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

把形参a所指数组中的最小值放在元素a[0]中,接着把a所指数组中的最大值放在a[1]元素中;

再把a所指数组元素中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3],以此类推。

例如,若a所指数组中的数据最初排列为:

9、1、4、2、3、6、5、8、7;

则按规则移动后,数据排列为:

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

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

规定fun函数中的max存放当前所找的最大值,px存放当前所找最大值的下标。

不得增行或删行,也不行更改程序的结构!

#include<

#defineN9   

voidfun(inta[],intn)   

{inti,j,max,min,px,pn,t;

n-1;

i+=2) 

{  

max=min=___1___;

px=pn=i;

for(j=i+1;

j<

j++){   

if(max<

___2___)   

{max=a[j];

px=j;

if(min>

___3___) 

{min=a[j];

pn=j;

if(pn!

=i)   

{t=a[i];

a[i]=min;

a[pn]=t;

if(px==i)px=pn;

if(px!

=i+1)   

{t=a[i+1];

a[i+1]=max;

a[px]=t;

{intb[N]={9,1,4,2,3,6,5,8,7},i;

fun(b,N);

\nThedataaftermoving:

(1)a[i]  

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

7.下列给定程序中,函数fun的功能是进行数字字符转换。

若形参ch中是数字字符'

~'

,则将'

转换成'

,'

1'

8'

2'

7'

,……,'

若是其它字符则保持不变;

并将转换后的结果作为函数值返回。

charfun(charch) 

{ 

if(ch>

&

__’9’___) 

return'

-(ch-__’0’_3___);

returnch;

{charc1,c2;

\nTheresult:

c1='

c2=fun(c1);

c1=%cc2=%c\n"

c1,c2);

a'

(1)char 

(2)ch<

 (3)'

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

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

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

N。

string.h>

#defineM5 

#defineN20  

intfun(char(*ss)[N],int*n)  

{inti,k=0,len=N;

M;

i++) 

{len=strlen(ss[i]);

if(i==0)*n=len;

if(len<

*n)  

{*n=len;

k=i;

return(k);

{charss[M][N]={"

shanghai"

"

guangzhou"

beijing"

tianjing"

chongqing"

};

intn,k,i;

\nTheoriginalstringsare:

i<

i++)puts(ss[i]);

k=fun(ss,&

\nThelengthofshorteststringis:

n);

printf("

\nTheshorteststringis:

ss[k]);

(1)M  

(2)<

  (3)k 

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

将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。

例如,s所指的字符串为def35adh3kjsdf7,执行后结果为defadhajsdf3537。

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

voidfun(char*s)   

{inti,j=0,k=0;

chart1[80],t2[80];

s[i]!

\0'

s[i]<

) 

t2[j]=s[i];

___1___;

elset1[k++]=s[i];

t2[j]=0;

t1[k]=0;

k;

i++)___2___;

___3___;

i++)s[k+i]=t2[i];

ba3a54j7sd567sdffs"

fun(s);

(1)j++或j+=1或++或j=j+1  

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

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

函数fun的功能是:

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

stdlib.h>

#defineN8 

typedefstructlist 

{intdata;

structlist*next;

}SLIST;

voidfun(SLIST*h,intx)   

{SLIST*p,*q,*s;

s=(SLIST*)malloc(sizeof(SLIST));

s->

data=___1___;

q=h;

p=h->

next;

while(p!

=NULL&

x>

p->

data){  

q=___2___;

p=p->

s->

next=p;

q->

next=___3___;

SLIST*creatlist(int*a)   

{SLIST*h,*p,*q;

inti;

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

i++)   

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

data=a[i];

p->

next=q;

p=q;

next=0;

returnh;

voidoutlist(SLIST*h)  

{SLIST*p;

if(p==NULL)printf("

\nThelistisNULL!

else  

\nHead"

do{printf("

->

p->

data);

}while(p!

=NULL);

End\n"

{SLIST*head;

intx;

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

head=creatlist(a);

\nThelistbeforeinserting:

outlist(head);

\nEnteranumber:

x);

fun(head,x);

\nThelistafterinserting:

(1)x  

(2)p  (3)s  

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

将形参a所指数组中的前半部分元素中的值与后半部分元素中的值对换。

形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。

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

1、2、3、4、5、6、7、8、9,则调换后为:

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

#defineN9 

voidfun(inta[],intn)  

{inti,t,p;

p=(n%2==0)?

n/2:

n/2+___1___;

n/2;

t=a[i];

a[i]=a[p+___2___];

___3___=t;

{intb[N]={1,2,3,4,5,6,7,8,9},i;

(1)1  

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

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

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

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

#defineN5  

#defineM10  

intfun(char(*ss)[M],intk)   

{inti,j=0,len;

__1__;

if(len<

=__2__) 

strcpy(ss[j++],__3__);

returnj;

{charx

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

当前位置:首页 > 解决方案 > 学习计划

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

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