版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2012
二级C语言上机预测题
目录
一、程序填空题
二、程序修改题
三、程序编写题
参考答案
二级C语言上机考试复习资料,共有50套题目
一、程序填空题
1、给定程序中,函数fUn的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,
将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并
将中间数作为函数值返回。
例如,有9个正整数:1572387582145
按升序排列时的中间数为:8
处理后主函数中输出的数列为:8882387882145
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#defineN9
intfun(intx[J)
{inti,j,k,t,mid,b[N];
for(i=0;i<N;i++)b[i]=x[i];
for(i=0;i<=N/2;i++)
{k=i;
for(j=i+1;j<N;j++)if(b[kj>b[jj)k=j;
if(k!=i)
/**********found**********/
t=bfi];b[i]=___1___;bfkl=t;
}
/**********found**********/
mid=b[___2___];
for(i=0;i<N;i++)
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<N;i++)printf("%d",x[i]);
printf("\nThemiddatais:%d\n",fun(x));
for(i=0;i<N;i++)printf("%d",x[i]);
printf("\n");
2、给定程序中,函数ftin的功能是建立一个NXN的矩阵。矩阵元素的构成规律是:最外层元素
的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,…依次类推。例如,若
N=5,生成的矩阵为:
11111
12221
12321
12221
2
11111
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKLC中。
不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#defineN7
/**********found**********/
voidfun(int(*a)—1—)
{inti,j,k,m;
if(N%2==0)m=N/2;
elsem=N/2+l;
for(i=0;i<m;i++){
/**********found**********/
for(j=_2_;j<N-i;j++)
a[i][j]=a[N-i-l]U]=i+l;
for(k=i+l;k<N-i;k++)
/**********found**********/
a[k][i]=a[k][N-i-l]=_3_;
main()
{intx[N][N]={O},i,j;
fun(x);
printf(M\nTheresultis:\nM);
for(i=0;i<N;i++)
{for(j=0;j<N;j++)printf("%3dn,x[i][j]);
printf("\nH);
3、给定程序中,函数fUn的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,
并保持数字字符串和非数字字符串原有的先后次序。例如,形参s所指的字符串为:def35adh3kjsdf7o
执行结果为:defadhkjsdf3537o
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKLC中。
不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
voidfun(char*s)
{inti,j=0,k=0;chartlf8O],t2[801;
for(i=0;s[i]!='\0';i++)
if(s[i]>='O'&&s[i]<='9')
/**********found**********/
t2UJ=s[i];—1—;
elsetl[k++]=s[i];
t2[j]=0;tl[k]=O;
/**********found**********/
for(i=0;i<k;i++)2
3
for(i=0;i<___3___;i++)s[k+ij=t2[ij;
)
main()
{chars[80]=ndef35adh3kjsdf7";
printf(M\nTheoriginalstringis:%s\n",s);
fun(s);
printf(M\nTheresultis:%s\nn,s);
4、给定程序中,函数fun的功能是:有NXN矩阵,以主对角线为对称线,对称元素相加并将结果
存放在左下三角元素中,右上三角元素置为0。例如,若N=3,有下列矩阵:
123
456
789计算结果为
100
650
10149
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKLC中。
不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#defineN4
/**********found**********/
voidfun(int(*t)___1___)
{inti,j;
for(i=l;i<N;i++)
{for(j=0;j<i;j++)
/**********found**********/
一2—=t[ij[j]+tU]Li];
/**********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<N;i++)
{for0=O;j<N;j++)printf("%2d",t[i]U]);
printf("\n");
)
fun(t);
printf(H\nTheresultis:\nn);
for(i=0;i<N;i++)
{forG=0;j<N;j++)printf("%2d",t[i][j]);
printf(M\nn);
4
5、给定程序中,函数fun的功能是:对形参s所指字符串中下标为奇数的字符按ASCII码大小递增
排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中,形成一个新串。
例如,形参s所指的字符串为:baawrskjghzlicda,执行后p所指字符数组中的字符串应为:aachjlswo
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
voidfun(char*s,char*p)
{inti,j,n,x,t;
n=0;
for(i=0;s[i]!='\0';i++)n++;
for(i=l;i<n-2;i=i+2){
/**********found**********/
/**********found**********/
for(j=—2_+2;j<n;j=j+2)
if(s[t]>s[jj)t=j;
if(t!=i)
{x=s[i];s[i]=s[t];s[t]=x;}
for(i=l,j=0;i<n;i=i+2,j++)p[jj=s[i];
/**********found**********/
Plj]=—3—;
)
main()
{chars[80]=nbaawrskjghzlicda",p[50];
printf(M\nTheoriginalstringis:%s\n",s);
fun(s,p);
printf(M\nTheresultis:%s\n",p);
6、程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息。函数ftin的功能是输出
这位学生的信息。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
typedefstruct
{intnum;
charname[9J;
charsex;
struct{intyear,month,day;}birthday;
floatscore[3];
}STU;
/**********found**********/
voidshow(STU___1___)
5
{inti;
printf(n\n%d%s%c%d-%d-%dH,tt.num,,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={l,"Zhanghua";M',1961,10,8,76.5,78.0,82.0);
printf("\nAstudentdata:\n");
/**********found**********/
show(___3___);
7、给定程序中,函数fim的功能是:计算NXN矩阵的主对角线元素和反向对角线元素之和,并作
为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。例如,若
N=3,有下列矩阵:
123
456
789ftHi函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKLC中。
不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#defineN4
fun(intt[JlN],intn)
{inti,sum;
for(i=0;i<n;i++)
sum+=___2__
for(i=0;i<n;i++)
sum+=t[i]fn-i-___3—];
returnsum;
main()
{intt[]fN]={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<N;i++)
{for(j=0;j<N;j++)printf("%4d",t[i][j]);
printf("\n");
)
printf(HTheresultis:%d",fun(t,N));
8、给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正
6
数),作为函数值返回;并将大于平均值的数放在形参y所指数组中,在主函数中输出。
例如,有10个正数:4630324061745154826,平均值为:30.500000
主函数中输出:4632404548
请在程序的卜.划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKLC中。
不得增行或删行,也不得更改程序的结构!
#include<stdlib.h>
#include<stdio.h>
#defineN10
doublefun(doublexf],double*y)
{inti,j;doubleav;
/**********found**********/
av=1
for(i=0;i<N;i++)av=av+—2.
for(i=j=0;i<N;i++)
/**********found**********/
if(x[i]>av)y[__3_J=x[i];
yUJ=-i;
returnav;
)
main()
{inti;doublex[N]={46,30,32,40,6,17,45,15,48,26};
doubley[NJ;
for(i=0;i<N;i++)printf("%4.0f",x[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、给定程序中,函数ftin的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正
数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,
平均值作为函数值返回,在主函数中输出平均值和移动后的数据。
例如,有10个正数:4630324061745154826,平均值为:30.500000
移动后的输出为:3061715264632404548
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKLC中。
不得增行或删行,也不得更改程序的结构!
#include<stdlib.h>
#include<stdio.h>
#defineN10
doublefun(double*x)
{inti,j;doubleav,y[N];
av=0;
/**********found**********/
for(i=0;i<N;i++)av+=—1―:
for(i=j=0;i<N;i++)
7
if(x[i]<av){
yfj]=x[i];x[il=-l;__2_
i=0;
while(i<N)
{if(x[i]!=-l)yU++]=x[i];
/**********found**********/
_3_;
)
for(i=0;i<N;i++)x[i]=y[i];
returnav;
)
main()
{inti;doublex[N];
for(i=0;i<N;i++){x[i]=rand()%50;printf("%4.0f",x[i]);}
printf("\nn);
printf("\nTheaverageis:%f\n",fun(x));
printf(H\nTheresult:\nH,fun(x));
for(i=0;i<N;i++)printf(n%5.0fn,x[i]);
printf(H\nn);
10、给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正
数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x所指数组的后部,
平均值作为函数值返回,在主函数中输出平均值和移动后的数据。
例如,有10个正数:4630324061745154826,平均值为:30.500000
移动后的输出为:4632404548306171526
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include<stdlib.h>
#include<stdio.h>
#defineN10
doublefun(double*x)
{inti,j;doubles,av,y[Nl;
s=0;
for(i=0;ivN;i++)s=s+x[i];
/**********found**********/
av=1
for(i=j=0;i<N;i++)
if(x[i]>av){
/*********ound**********/
yl_2_J=x[i];x[i]=-l;}
for(i=0;i<N;i++)
/**********found**********/
if(x[i]!=„3_)y[j++]=x[i];
for(i=0;i<N;i++)x[i]=y[i];
returnav;
8
main()
{inti;doublex[N]={46,30,32,40,6,17,45,15,48,26};
for(i=0;i<N;i++)printf("%4.0f",x[i]);
printf("\n");
printf("\nTheaverageis:%f\n",fun(x));
printf("\nTheresult:\n",fun(x));
for(i=0;i<N;i++)printf("%5.0f",x[ij);
printf("\n");
11、函数的功能是:把形参a所指数组中的奇数按原顺序依次存放到a[0]、a[lLa[2]、……中,
把偶数从数组中删除,奇数个数通过函数值返回。例如:若a所指数组中的数据最初排列为:9、1、4、
2、3、6、5、8、7,删除偶数后a所指数组中的数据为:9、1、3、5、7,返回值为5。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#defineN9
intfun(intal],intn)
{inti,j
j=0;
for(i=0;i<n;i++)
/**********found**********/
if(a[i]%2==-1—)
/**********found**********/
a[j]=a[i];—2___;
/*********ound**********/
return_3___;
main()
{intb[N]={9,l,4,2,3,6,5,8,7},i,n;
printf("\nTheoriginaldata:\n");
for(i=0;i<N;i++)printf("%4d",b[i]);
printf("\n");
n=fun(b,N);
printf("\nThenumberofodd:%d\n",n);
printf("\nTheoddnumber:\n");
for(i=0;i<n;i++)printf("%4d",b[i]);
printf("\n");
12、给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为
函数值返回,并把其串长放在形参n所指变量中。ss所指字符串数组中共有M个字符串,且串长<N。
请在程序的下划线处填入正确的内容并把卜划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKLC中。
不得增行或删行,也不得更改程序的结构!
9
#include<stdio.h>
#include<string.h>
#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;
/*********ound**********/
if(len___2.*n)
{*n=len;
k=i;
)
/**********found**********/
return(_3___);
main()
{charss[M][N]={"shanghai","guangzhou","beijing",ntianjing","chongqing"};
intn,k,i;
printf("\nTheoriginalstringsare:\n");
for(i=0;i<M;i++)puts(ss[i]);
k=fun(ss,&n);
printf(M\nThelengthofshorteststringis:%d\n",n);
printf(M\nTheshorteststringis:%s\nn,ss[kj);
13、人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中。
函数fun的功能是:找出指定出生年份的人员,将其数据放在形参k所指的数组中,由主函数输出,同
时由函数值返回满足指定条件的人数。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKLC中。
不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#defineN8
typedefstruct
{intnum;
intyear,month,day;
}STU;
intfun(STU*std,STU*k,intyear)
{inti,n=0;
for(i=0;i<N;i++)
/**********found**********/
if(___1一==year)
k[n++]=—2.
io
return(___3___);
main()
{STUstd[Nl={{1,1984,2,15},{2,1983,9,21},{3,1984,9,1},{4,1983,7,15},
{5,1985,9,28},{6,1982,11,15},{7,1982,6,22},{8,1984,8,19}};
STUk[N];inti,n,year;
printf(MEnterayear:");scanf(M%dH,&year);
n=fun(std,k,year);
if(n==O)
printf("\nNopersonwasbornin%d\n",year);
else
{printfC'VnThesepersonswerebornin%d\nn,year);
for(i=0;i<n;i++)
printf(H%d%d-%d-%d\nn,k[ij.num,k[i].year,k[ij.month,k[i].day);
)
14、函数fun的功能是:将形参a所指数组中的前半部分元素中的值和后半部分元素中的值对换。
形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。例如:若a所指数组中的数据依次
为:1、2、3、4、5、6、7、8、9,则调换后为:6、7、8、9、5、1、2、3、4。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKLC中。
不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#defineN9
voidfun(inta[],intn)
{inti,t,p;
/*********ound**********/
p=(n%2==0)?n/2:n/2+___1
for(i=0;i<n/2;i++)
t=a[i];
/**********found**********/
a[i]=a[p+___2___];
/**********found**********/
___3___=t;
main()
{intb[N]={1,2,34,5,6,7,8,9},i;
printf("\nTheoriginaldata:\n");
for(i=0;i<N;i++)printf("%4d",b[i]);
printf("\n");
fun(b,N);
printf("\nThedataaftermoving:\n");
for(i=0;i<N;i++)printf("%4d",b[i]);
printf("\n");
11
15、给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符
方式从此文本文件中逐个读入并显示在终端屏幕上。
请在程序的卜.划线处填入正确的内容并把下划线删除,使程序得出正确粉绸果。
注意:源程序存放在考生文件夹下的BLANKLC中。
不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
voidfiin(char*s,inta,doublef)
/*********ound**********/
charch;
fp=fopen(,,filel.txtM,"w");
fprintf(fp,M%s%d%f\nn,s,a,f);
fclose(fp);
fp=fopen(”fileLtx「T);
printf("\nTheresult:\n\n");
ch=fgetc(fp);
/**********found**********/
while(!feof(—2—)){
/**********found**********/
putchar(_3__);ch=fgetc(fp);}
putchar('\n');
fclose(fp);
main()
{chara[10J="Hello!";intb=12345;
doublec=98.76;
fun(a,b,c);
16、给定程序中,函数fun的功能是:找出NXN矩阵中每列元素中的最大值,并按顺序依次存放
于形参b所指的一维数组中。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#defineN4
voidfun(int(*a)[N],int*b)
{inti,j;
for(i=0;i<N;i++){
/*********ound**********/
b[i]=—1—;
for(j=l;j<N;j++)
/**********found**********/
if(b[i]__2_afj][i])b[i]=a[j][i];
main()
12
{intx[N][NJ={{12,5,8,7},{6,1,9,3},{1,2,3,4},{2,8,4,3}},y[N],i,j;
printf("\nThematrix:\n");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)printf("%4d",x[i][jl);
printf("\n");
/**********found**********/
fun(-3—);
printf("\nTheresultis:");
for(i=0;i<N;i++)printf("%3d",y[i]);
printf("\n");
17、给定程序中,函数fun的功能是:统计形参s所指字符串中数字字符出现的次数,并存放在形
参t所指的变量中,最后在主函数中输出。例如,形参s所指的字符串为:abcdef35adgh3kjsdf7o输出结
果为:40
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
voidfun(char*s,int*t)
{inti,n;
n=0;
for(i=0;____1____!=0;i++)
/**********found**********/
if(s[iJ>=*O'&&s[iJ<=____2____)n++;
/*********ound**********/
―3―;
)
main()
{chars[8O]=nabcdef35adgh3kjsdf7n;
intt;
printf(M\nTheoriginalstringis:%s\n",s);
fun(s,&t);
printf(M\nTheresultis:%d\nM,t);
18、函数fun的功能是:把形参a所指数组中的最小值放在元素a[0]中,接着把形参a所指数组中
的最大值放在a[l]元素中;再把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存放当前所找最大值的下标。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#defineN9
voidfun(inta[],intn)
13
{inti,j,max,min,px,pn,t;
for(i=0;i<n-l;i+=2)
/**********found**********/
max=min=
px=pn=i;
for(j=i+l;j<n;j++){
/**********found**********/
if(max<___2___)
{max=a[j];px=j;}
/*********ound**********/
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+l];a[i+lJ=max;a[px]=t;}
)
)
main()
{intb[N]={9,1,4,2,39,5,8,7}』
printf(M\nTheoriginaldata:\nn);
for(i=0;i<N;i++)printf("%4d”,b[ij);
printf(n\nM);
fun(b,N);
printf(H\nThedataaftermoving:\n");
for(i=0;i<N;i++)printf(H%4d”,b[ij);
printf(H\nH);
19、给定程序中,函数ftm的功能是:将形参s所指字符串中的所有数字字符顺序前移,其他字符
顺序后移,处理后新字符串的首地址作为函数值返回。
例如,s所指字符串为:asdl23fgh5##43df,
处理后新字符串为:123543asdfgh##df。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<ctype.h>
char*fun(char*s)
{inti,j,k,n;char*p,*t;
n=strlen(s)+l;
t=(char*)malloc(n*sizeof(char));
p=(char*)malloc(n*sizeof(char));
14
j=0;k=0;
for(i=0;ivn;i++)
{if(isdigit(s[i])){
/**********found**********/
pf_l_]=s[i];j++;}
else
{t[kj=s[ij;k++;}
/*********ound**********/
for(i=0;i<_2_;i++)p[j+i]=t[i];
p[j+k]=O;
/**********found**********/
return_3—;
)
main()
{chars[80];
printf(nPleaseinput:");scanf(',%s,,,s);
printf(H\nTheresultis:%s\nM,fun(s));
20、给定程序中,函数fun的功能是:有NXN矩阵,根据给定的m(m<=N)值,将每行元素中
的值均右移m个位置,左边置为0。例如,N=3,m=2,有下列矩阵
123
456
789程序执行结果为
001
004
007
请在程序的卜划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKLC中。
不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#defineN4
voidfun(intintm)
{inti,j;
/**********found**********/
for(i=0;i<N;_1___)
{for(j=N-l-m;j>=0;j—)
/**********found**********/
t[i][j+—2—l=t[i]rj];
/*********ound**********/
for(j=0;j<_3—;j++)
t[i]UJ=0;
main()
{intt[][N]={21,12,13,24,25,16,47,38,29,ll,32,54,42,21,33,10},i,j,m;
printf(M\nTheoriginalarray:\nn);
15
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
printf("%2d",t[i][j]);
printf("\n");
}
printf("Inputm(m<=%d):",N);scanf("%d",&m);
fun(t,m);
printf("\nTheresultis:\n");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
printf("%2d",t[i][j]);
printf("\n");
21、函数ftin的功能是:把形参a所指数组中的偶数按原顺序依次存放到a[0]、a[l]>a[2]、……中,
把奇数从数组中删除,偶数个数通过函数值返回。例如:若a所指数组中的数据最初排列为:9、1、4、
2、3、6、5、8、7,删除奇数后a所指数组中的数据为:4、2、6、8,返回值为4。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKLC中。
不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#defineN9
intfun(inta[],intn)
{inti,j;
j=0;
for(i=0;i<n;i++)
if(—1—==0){
/**********found**********/
-2—=a[i];j++;
/**********found**********/
return_3___;
main()
{intb[N]={9,l,4,2,3,6,5,8,7},i,n;
printf(M\nTheoriginaldata:\nn);
for(i=0;i<N;i++)printf("%4d”,b[ij);
printf(”\n”);
n=fun(b,N);
printf("\nThenumberofeven:%d\n",n);
printf("\nTheeven:\nn);
for(i=0;i<n;i++)printf("%4d",b[ij);
printf(M\nn);
22、给定程序中,函数fun的功能是:判定形参a所指的NXN(规定N为奇数)的矩阵是否是"
幻方”,若是,函数返回值为1;不是,函数返回值为0。"幻方"的判定条件是:矩阵每行、每列、主对
16
角线及反对角线上元素之和都相等。
例如,以下3X3的矩阵就是一个“幻方":
492
357
816
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#defineN3
intfun(int(*a)[N])
{inti,j,ml,m2,row,colum;
ml=m2=0;
for(i=0;i<N;i++)
{j=N-i-l;ml+=a[i][i];m2+=a[i][j];}
if(ml!=m2)return0;
for(i=0;i<N;i++){
/**********found**********/
row=colum=—1—;
for(j=0;j<N;j++)
{row+=a[i][j];colum+=a[j][i];}
/**********found**********/
if((row!=colum)—2—(row!=ml))return0;
return_3—;
)
main()
{intx[N][NLi,j;
printf(nEnternumberfbrarray:\nH);
for(i=0;i<N;i++)
for(j=0;jvN;j++)scanf("%dn,&x[i][j]);
printf(nArray:\n");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)printf("%3d\x[i]rj]);
printf("\nH);
)
if(fun(x))printf(HTheArrayisamagicsquare.\nn);
elseprintf(MTheArrayisn'tamagicsquare.\nn);
23、给定程序中,函数fim的功能是将a和b所指的两个字符串分别转换成面值相同的整数,并进
行相加作为函数值返回,规定字符串中只含9个以下数字字符。
例如,主函数中输入字符串:32486和12345,在主函数中输出的函数值为:44831。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKLC中。
不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#include<string.h>
17
#include<ctype.h>
#defineN9
longctod(char*s)
{longd=0;
while(*s)
if(isdigit(*s)){
/**********found**********/
d=d*10+*s-1
/*********ound**********/
_2_;}
returnd;
longftin(char*a,char*b)
/**********found**********/
return_3―;
main()
{charsl[NJ,s2[NJ;
do
{printf(nInputstringsi:");gets(sl);}
while(strlen(sl)>N);
do
{printf(nInputstrings2:");gets(s2);}
while(strlen(s2)>N);
printf(nTheresultis:%ld\nn,fun(sl,s2));
24、给定程序中,函数ftm的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数
位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长
度大于等于2)。例如,形参s所指的字符串为:abcdefgh,执行结果为:ahcbedgfo
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
voidfun(char*s)
{inti,n,k;charc;
n=0;
for(i=0;s[i]!=,\0';i++)n++;
/*********ound**********/
if(n%2==0)k=n-—1—;
elsek=n-2;
/**********found**********/
c=2
for(i=k-2;i>=l;i=i-2)s[i+2]=s[i];
/**********found**********/
s[l]=__3__;
18
main()
{chars[80J=nabcdefghH;
printf(M\nTheoriginalstringis:%s\n",s);
fun(s);
printf(M\nTheresultis:%s\nM,s);
25、给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字
符串右边用字符*补齐,使其与最长的字符串等长。ss所指字符串数组中共有M个字符串,且串长vN。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#include<string.h>
#defineM5
#defineN20
voidfun(char(*ss)fN])
{inti,j,n,len=0;
for(i=0;i<M;i++)
{len=strlen(ss[i]);
if(i==0)n=len;
if(len>n)n=len;
for(i=0;i<M;i++){
/**********found**********/
n=strlen(___1___);
for(j=0;j<len-n;j++)
/*********ound**********/
ss[i][—2―1;
/**********found**********/
ss[i][n+j+—3—J=\0r;
main()
{charss[M][N]={"shanghai'V'guangzhou'V^eijing'V^ianjing^/'cchongqing"};
inti;
printf(HTheoriginalstringsare:\nH);
for(i=0;i<M;i++)printf(n%s\n\ss[i]);
printf(n\nn);
fun(ss);
printf("Theresultis:\n");
for(i=0;i<M;i++)printf(n%s\nH,ss[i]);
26、给定程序中,函数fun的功能是:将NXN矩阵中元素的值按列右移1个位置,右边被移出矩
阵的元素绕回左边。例如,N=3,有下列矩阵
123
456
789计算结果为
19
312
645
978
请在程序的卜.划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#defineN4
voidfun(int(*t)[N])
{inti,j,x;
/*********ound**********/
for(i=0;i<_1___;i++)
/**********found**********/
x=t[i]f—2―];
for(j=N-l;j>=l;j-)
/**********found**********/
tli]L__3—]=x;
main()
{intt[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10},i,j;
printf("Theoriginalarray:\n");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)printf("%2d",t[i][j]);
printf("\n");
fun(t);
printf("\nTheresultis:\n");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)printf("%2d",t[i][j]);
printf("\n");
27、给定程序中,函数fun的功能是根据形参i的值返回某个函数的值。当调用正确时,程序输出:
x1=5.000000,x2=3.000000,xl*xl+xl*x2=40.000000
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
doublefl(doublex)
{returnx*x;}
doublef2(doublex,doubley)
{returnx*y;}
/**********found**********/
―1—fun(inti,doublex,doubley)
{if(i==l)
20
return_2—(x);
else
/**********found**********/
return_3_(x,y);
)
main()
{doublexl=5,x2=3,r;
r=fun(l,xl,x2);
r+=fun(2,xl,x2);
printf(M\nxl=%f,x2=%f,xl*xl+xl*x2=%f\n\n",xl,x2,r);
28、给定程序的主函数中,已给出由结构体构成的链表结点a、b、c,各结点
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教 八年级 语文 下册 第4单元《拓展延伸》课件
- 2026年汽贸贷款买车合同(1篇)
- 2026年欧派橱柜销售合同(1篇)
- 精密构件表面硬化处理项目可行性研究报告
- 宣传栏制作安装合同模板
- 行政法律关系的构成和特点
- 信息技术信息系统在美发培训学校教学课程安排与学员考核管理中的应用课件
- 2025 高中信息技术数据与计算之算法的牛顿插值算法课件
- 2025 高中信息技术数据与计算之数据安全的多方量子加密通信优化课件
- 2026年畜禽疫病科学防控技术指南与实践
- 3.12.2024新苏教版小学科学三年级下册第三单元第12课《石头上的植物》同步课件
- 金华义乌市供销联社下属企业2026年招聘6人笔试模拟试题及答案解析
- 2026届湖北省武汉普通高中高三3月调考数学+答案
- (一模)包头市2026年高三第一次模拟考试地理试卷(含答案)
- 2026年湖南省长沙市高职单招职业技能考试题库带答案详解
- 2026年无锡科技职业学院单招综合素质考试题库有答案详解
- DB54∕T 0601-2026 农作物品种生产示范技术规程 青稞
- XX区实验学校初中部2026年春季学期中期学生社团管理实施方案
- 2026年六安职业技术学院单招职业适应性考试题库及答案详解(夺冠)
- 1.2 幸福生活是奋斗出来的 第1课时 课件+视频-2025-2026学年道德与法治三年级下册统编版
- 一堂好课的标准课件
评论
0/150
提交评论