计算机二级C语言上机题及答案汇总50套.docx

上传人:b****8 文档编号:10091520 上传时间:2023-05-23 格式:DOCX 页数:195 大小:127.01KB
下载 相关 举报
计算机二级C语言上机题及答案汇总50套.docx_第1页
第1页 / 共195页
计算机二级C语言上机题及答案汇总50套.docx_第2页
第2页 / 共195页
计算机二级C语言上机题及答案汇总50套.docx_第3页
第3页 / 共195页
计算机二级C语言上机题及答案汇总50套.docx_第4页
第4页 / 共195页
计算机二级C语言上机题及答案汇总50套.docx_第5页
第5页 / 共195页
计算机二级C语言上机题及答案汇总50套.docx_第6页
第6页 / 共195页
计算机二级C语言上机题及答案汇总50套.docx_第7页
第7页 / 共195页
计算机二级C语言上机题及答案汇总50套.docx_第8页
第8页 / 共195页
计算机二级C语言上机题及答案汇总50套.docx_第9页
第9页 / 共195页
计算机二级C语言上机题及答案汇总50套.docx_第10页
第10页 / 共195页
计算机二级C语言上机题及答案汇总50套.docx_第11页
第11页 / 共195页
计算机二级C语言上机题及答案汇总50套.docx_第12页
第12页 / 共195页
计算机二级C语言上机题及答案汇总50套.docx_第13页
第13页 / 共195页
计算机二级C语言上机题及答案汇总50套.docx_第14页
第14页 / 共195页
计算机二级C语言上机题及答案汇总50套.docx_第15页
第15页 / 共195页
计算机二级C语言上机题及答案汇总50套.docx_第16页
第16页 / 共195页
计算机二级C语言上机题及答案汇总50套.docx_第17页
第17页 / 共195页
计算机二级C语言上机题及答案汇总50套.docx_第18页
第18页 / 共195页
计算机二级C语言上机题及答案汇总50套.docx_第19页
第19页 / 共195页
计算机二级C语言上机题及答案汇总50套.docx_第20页
第20页 / 共195页
亲,该文档总共195页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

计算机二级C语言上机题及答案汇总50套.docx

《计算机二级C语言上机题及答案汇总50套.docx》由会员分享,可在线阅读,更多相关《计算机二级C语言上机题及答案汇总50套.docx(195页珍藏版)》请在冰点文库上搜索。

计算机二级C语言上机题及答案汇总50套.docx

计算机二级C语言上机题及答案汇总50套

二级C语言上机预测题

目录

一、程序填空题1

二、程序修改题13

三、程序编写题22

参考答案31

 

二级C语言上机考试复习资料,共有50套题目

一、程序填空题

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

在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。

例如,有9个正整数:

1572387582145

按升序排列时的中间数为:

8

处理后主函数中输出的数列为:

8882387882145

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

注意:

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

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

#include

#defineN9

intfun(intx[])

{inti,j,k,t,mid,b[N];

for(i=0;i

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

{k=i;

for(j=i+1;jb[j])k=j;

if(k!

=i)

{

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

t=b[i];b[i]=___1___;b[k]=t;

}

}

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

mid=b[___2___];

for(i=0;i

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

if(x[i]___3___mid)x[i]=mid;

returnmid;

}

main()

{inti,x[N]={1,5,7,23,87,5,8,21,45};

for(i=0;i

printf("\nThemiddatais:

%d\n",fun(x));

for(i=0;i

printf("\n");

}

2、给定程序中,函数fun的功能是建立一个N×N的矩阵。

矩阵元素的构成规律是:

最外层元素的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,…依次类推。

例如,若N=5,生成的矩阵为:

11111

12221

12321

12221

11111

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

注意:

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

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

#include

#defineN7

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

voidfun(int(*a)__1__)

{inti,j,k,m;

if(N%2==0)m=N/2;

elsem=N/2+1;

for(i=0;i

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

for(j=__2__;j

a[i][j]=a[N-i-1][j]=i+1;

for(k=i+1;k

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

a[k][i]=a[k][N-i-1]=__3__;

}

}

main()

{intx[N][N]={0},i,j;

fun(x);

printf("\nTheresultis:

\n");

for(i=0;i

{for(j=0;j

printf("\n");

}

}

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

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

例如,形参s所指的字符串为:

def35adh3kjsdf7。

执行结果为:

defadhkjsdf3537。

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

注意:

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

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

#include

voidfun(char*s)

{inti,j=0,k=0;chart1[80],t2[80];

for(i=0;s[i]!

='\0';i++)

if(s[i]>='0'&&s[i]<='9')

{

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

t2[j]=s[i];___1___;

}

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

t2[j]=0;t1[k]=0;

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

for(i=0;i

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

for(i=0;i<___3___;i++)s[k+i]=t2[i];

}

main()

{chars[80]="def35adh3kjsdf7";

printf("\nTheoriginalstringis:

%s\n",s);

fun(s);

printf("\nTheresultis:

%s\n",s);

}

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

有N×N矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。

例如,若N=3,有下列矩阵:

123

456

789计算结果为

100

650

10149

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

注意:

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

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

#include

#defineN4

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

voidfun(int(*t)___1___)

{inti,j;

for(i=1;i

{for(j=0;j

{

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

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

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

___3___=0;

}

}

}

main()

{intt[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10},i,j;

printf("\nTheoriginalarray:

\n");

for(i=0;i

{for(j=0;j

printf("\n");

}

fun(t);

printf("\nTheresultis:

\n");

for(i=0;i

{for(j=0;j

printf("\n");

}

}

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

对形参s所指字符串中下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中,形成一个新串。

例如,形参s所指的字符串为:

baawrskjghzlicda,执行后p所指字符数组中的字符串应为:

aachjlsw。

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

注意:

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

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

#include

voidfun(char*s,char*p)

{inti,j,n,x,t;

n=0;

for(i=0;s[i]!

='\0';i++)n++;

for(i=1;i

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

___1___;

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

for(j=___2___+2;j

if(s[t]>s[j])t=j;

if(t!

=i)

{x=s[i];s[i]=s[t];s[t]=x;}

}

for(i=1,j=0;i

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

p[j]=___3___;

}

main()

{chars[80]="baawrskjghzlicda",p[50];

printf("\nTheoriginalstringis:

%s\n",s);

fun(s,p);

printf("\nTheresultis:

%s\n",p);

}

6、程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息。

函数fun的功能是输出这位学生的信息。

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

注意:

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

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

#include

typedefstruct

{intnum;

charname[9];

charsex;

struct{intyear,month,day;}birthday;

floatscore[3];

}STU;

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

voidshow(STU___1___)

{inti;

printf("\n%d%s%c%d-%d-%d",tt.num,tt.name,tt.sex,

tt.birthday.year,tt.birthday.month,tt.birthday.day);

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

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

printf("%5.1f",___2___);

printf("\n");

}

main()

{STUstd={1,"Zhanghua",'M',1961,10,8,76.5,78.0,82.0};

printf("\nAstudentdata:

\n");

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

show(___3___);

}

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

计算N×N矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回。

注意:

要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。

例如,若N=3,有下列矩阵:

123

456

789fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。

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

注意:

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

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

#include

#defineN4

fun(intt[][N],intn)

{inti,sum;

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

___1___;

for(i=0;i

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

sum+=___2___;

for(i=0;i

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

sum+=t[i][n-i-___3___];

returnsum;

}

main()

{intt[][N]={21,2,13,24,25,16,47,38,29,11,32,54,42,21,3,10},i,j;

printf("\nTheoriginaldata:

\n");

for(i=0;i

{for(j=0;j

printf("\n");

}

printf("Theresultis:

%d",fun(t,N));

}

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

计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参y所指数组中,在主函数中输出。

例如,有10个正数:

4630324061745154826,平均值为:

30.500000

主函数中输出:

4632404548

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

注意:

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

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

#include

#include

#defineN10

doublefun(doublex[],double*y)

{inti,j;doubleav;

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

av=__1__;

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

for(i=0;i

for(i=j=0;i

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

if(x[i]>av)y[__3__]=x[i];

y[j]=-1;

returnav;

}

main()

{inti;doublex[N]={46,30,32,40,6,17,45,15,48,26};

doubley[N];

for(i=0;i

printf("\n");

printf("\nTheaverageis:

%f\n",fun(x,y));

for(i=0;y[i]>=0;i++)printf("%5.0f",y[i]);

printf("\n");

}

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

计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。

例如,有10个正数:

4630324061745154826,平均值为:

30.500000

移动后的输出为:

3061715264632404548

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

注意:

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

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

#include

#include

#defineN10

doublefun(double*x)

{inti,j;doubleav,y[N];

av=0;

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

for(i=0;i

for(i=j=0;i

if(x[i]

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

y[j]=x[i];x[i]=-1;__2__;}

i=0;

while(i

{if(x[i]!

=-1)y[j++]=x[i];

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

__3__;

}

for(i=0;i

returnav;

}

main()

{inti;doublex[N];

for(i=0;i

printf("\n");

printf("\nTheaverageis:

%f\n",fun(x));

printf("\nTheresult:

\n",fun(x));

for(i=0;i

printf("\n");

}

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

计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。

例如,有10个正数:

4630324061745154826,平均值为:

30.500000

移动后的输出为:

4632404548306171526

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

注意:

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

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

#include

#include

#defineN10

doublefun(double*x)

{inti,j;doubles,av,y[N];

s=0;

for(i=0;i

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

av=__1__;

for(i=j=0;i

if(x[i]>av){

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

y[__2__]=x[i];x[i]=-1;}

for(i=0;i

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

if(x[i]!

=__3__)y[j++]=x[i];

for(i=0;i

returnav;

}

main()

{inti;doublex[N]={46,30,32,40,6,17,45,15,48,26};

for(i=0;i

printf("\n");

printf("\nTheaverageis:

%f\n",fun(x));

printf("\nTheresult:

\n",fun(x));

for(i=0;i

printf("\n");

}

11、函数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。

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

注意:

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

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

#include

#defineN9

intfun(inta[],intn)

{inti,j;

j=0;

for(i=0;i

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

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

{

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

a[j]=a[i];___2___;

}

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

return___3___;

}

main()

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

printf("\nTheoriginaldata:

\n");

for(i=0;i

printf("\n");

n=fun(b,N);

printf("\nThenumberofodd:

%d\n",n);

printf("\nTheoddnumber:

\n");

for(i=0;i

printf("\n");

}

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

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

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

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

注意:

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

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

#include

#include

#defineM5

#defineN20

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

{inti,k=0,len=N;

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

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

{len=strlen(ss[i]);

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

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

if(len___2___*n)

{*n=len;

k=i;

}

}

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

return(___3___);

}

main()

{charss[M][N]={"shanghai","guangzhou","beijing","tianjing","chongqing"};

intn,k,i;

printf("\nTheoriginalstringsare:

\n");

for(i=0;i

k=fun(ss,&n);

printf("\nThelengthofshorteststringis:

%d\n",n);

printf("\nTheshorteststringis:

%s\

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2