最新计算机二级c语言上机题库及答案填空类 精品文档格式.docx
- 文档编号:21127914
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:130
- 大小:71.71KB
最新计算机二级c语言上机题库及答案填空类 精品文档格式.docx
《最新计算机二级c语言上机题库及答案填空类 精品文档格式.docx》由会员分享,可在线阅读,更多相关《最新计算机二级c语言上机题库及答案填空类 精品文档格式.docx(130页珍藏版)》请在冰豆网上搜索。
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新计算机二级c语言上机题库及答案填空类 精品 最新 计算机 二级 语言 上机 题库 答案 填空