计算机上机试题1_第1页
计算机上机试题1_第2页
计算机上机试题1_第3页
计算机上机试题1_第4页
计算机上机试题1_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序修改提

1、给定程序中,函数ftm的功能是:在任意给定的9个正整数中找出按升序排列时处于中

间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处

理后的数据序列,并将中间数作为函数值返回。

例如,有9个正整数:1572387582145

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

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

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

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

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

#include

#defineN9

intfun(intx[])

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

for(i=0;i<N;I++)B[I]=X[I];

for(i=0;i<=N/2;i++)</N;I++)B[I]=X[I];>

{k=i;

fbr(j=i+l;j<N;J++)IF(B[K]>b[j])k=j;</N;J++)IF(B[K]>

ififk!=i)

(

/**********'fV)und**********/

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

/**********心und**********/

mid=b[_2_];

fbr(i=O;i<N;I++)

/**********%un(j**********/</N,

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

returnmid;

main()

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

for(i=O;i<N;I-H-)PRINTF(H%Dn,X[I]);

printf(n\nThemiddatais:%d\n",fun(x));</N;I++)PRINTF(H%DM,X[I]);>

fbr(i=O;i<N;I++)PRINTF(n%Dn,X[I]);

printf(n\nu);</N;I++)PRINTF(n%DH,X[I]);>

2、给定程序中,函数fun的功能是建立一个NxN的矩阵。矩阵元素的构成规律是:最外

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

次类推。例如,若N=5,生成的矩阵为:

11111

12221

12321

12221

11111

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

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

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

#include

#defineN7

/**********仿und**********/

voidfun(int(*a)_1_)

{inti,j,k,m;

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

elsem=N/2+l;

fbr(i=O;i<M;I++){

/**********eund**********/v/M,[++){>

fbr(j=_2_;j<N-I;J++)

a[i]|j]=a[N-i-l][j]=i+l;</N-I;J++)>

fbr(k=i+l;k<N-I;K++)

/**********%und**********/v/N-I,K++)>

a[k][i]=a[k][N-i-l]=_3_;

main()

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

fun(x);

printf(n\nTheresultis:\nM);

fbr(i=O;i<N;I++)

{for(j=0;j</N;1++)>

3、给定程序MODI1.C中函数fun的功能是:用冒泡法对6个字符串按由小到大的顺序进

行排序。

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

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

#include

#include

#defineMAXLINE20

fun(char*pstr[6])

{inti,j;

char*p;

for(i=0;i<5;i++){

/***************************/

for(j=i+l,j<6,j++)

(

if(strcmp(*(pstr+i),*(pstr+j))>0)

(

p=*(pstr+i);

*(pstr+i)=pstr+j;

*(pstr+j)=p;

main()

{inti;

char*pstr[6],str[6][MAXLINE];

for(i=0;i<6;i++)pstr[i]=str[i];

printsu\nEnter6string(1stringateachline):\n");

fbr(i=0;i<6;i++)scanff%s”,pstr[i]);

fun(pstr);

printff'Thestringsaftersorting:\nu);

fbr(i=0;i<6;i++)printff%s\n”,pstr[i]);

)

4、给定程序MODI1.C中函数fun的功能是:计算函数F(x,y,z)=(x+y)/(x・y)+(z+y)/(z・y)的值。

其中x和y的值不等,z和y的值不等。

例如,当x的值为9、y的值为11、z的值为15时,函数值为-3.50o

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

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

#include

#include

#include

/***********,Cund************/

#defineFU(m,n)(m/n)

floatfun(floata,floatb,floatc)

{floatvalue;

value=FU(a+b,a-b)+FU(c+b,c-b);

/************fk)und************/

Retum(Value);

main()

{floatx,y,z,sum;

printff'Inputxyz:”);

scanf(u%f%f%f,,&x,&y,&z);

printf(nx=%f,y=%f;z=%f\nn,x,y,z);

if(x==y||y=z){printf("Dataerror!\nM);exit(0);)

sum=fun(x,y,z);

printf(HTheresultis:%5.2f\nn,sum);

)

5、给定程序MODILC中函数fun的功能是:用下面的公式求兀的近似值,直到最后一项

的绝对值小于指定的数(参数num)为止:

兀111

------=1-++...

4357

例如,程序运行后,输入0.0001,则程序输出3.1414。

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

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

#include

#include

floatfun(floatnum)

floatn,t,pi;

t=l;pi=0;n=l;s=l;

/**************必und**************/

while(t>=num)

pi=pi+1;

n=n+2;

/**************必und**************/

t=s%n;

}

pi=pi*4;

returnpi;

main()

{floatn1,n2;

printff'Enterafloatnumber:");

scanfC1%r,&nl);

n2=fiin(nl);

printf(”%6.4f\n”,n2);

、给定程序MODH.C中函数fun的功能是:求出数组中最大数和次最大数,并把最大数和

a[0]中的数对调、次最大数和a[l]中的数对调。

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

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

#include

#defineN20

voidfun(int*a,intn)

{inti,m,t,k;

for(i=0;i<2;i++){

/**********Cund**********/

m=0;

for(k=i+l;k

/**********仿und**********/

if(a[k]>a[m])k=m;

t=a[i];a[i]=a[m];a[m]=t;

main()

{intb[N]={l1,5,12,0,3,6,9,7,10,8},n=10,i;

for(i=0;i

fun(b,n);

for(i=0;i

7、例如,若给m输入-100,给n输入90,则函数求得的一个根值为2.000。

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

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

#include

#include

doublefunx(doublex)

{retum(2*x*x*x-4*x*x+3*x-6);}

doublefun(doublem,doublen)

/************Cund************/

intr;

r=(m+n)/2;

/************Cund************/

while(fabs(n-m)<0.001)

{if(fiinx(r)*funx(n)<0)m=r;

elsen=r;

r=(m+n)/2;

)

returnr;

}

main()

{doublem,n,root;

printf(nEntermn:\nn);scanf(n%lf%lf',&m,&n);

root=fun(m,n);

printf(Hroot=%6.3f\n",root);

}

8、给定程序MODILC中函数fun的功能是:根据整型形参m,计算如下公式的值。

1111

y=-------+----------+----------+.........+--------

100*100200*200300*300m*m

例如,若m=2000,则应输出:0.000160o

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

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

#include

fun(intm)

{doubley=0,d;

inti;

/************Cund************/

fbr(i=100,i<=m,i+=100)

{d=(double)i*(double)i;

y+=1.0/d;

}

return(y);

}

main()

{intn=2000;

printf(u\nTheresultis%lf\n",fun(n));

}

9、给定程序MODI1.C中函数fun的功能是:统计字符串中各元音字母(即:A、E、I、0、

U)的个数。注意:字母不分大、小写。

例如:若输入:THIsisaboot,则输出应该是:1、0、2、2、0。

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

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

#include

voidfun(char*s,intnum[5])

{intk,i=5;

for(k=0;k

/**********^^)und**********,

num[i]=0;

for(;*s;s-H-)

{i=-l;

switch(s)

{case*a':caseA:{i=0;break;}

case*e':case'E':{i=l;break;}

caseT:caseT:{i=2;break;}

case'o':case'O':{i=3;break;}

case*u*:caseU:{i=4;break;}

if(i>=0)

num[i]-H-;

}

main()

{charsi[81];intnuml[5],i;

printfif"\nPleaseenterastring:");gets(si);

fun(si,numl);

for(i=0;i<5;i++)printf(n%dn,numl[i]);printf(M\n");

10、给定程序MODI1.C的功能是:读入一个英文文本行,将其中每个单词的第一个字母改

成大写,然后输出此文本行(这里的“单词”是指由空格隔开的字符串)。

例如,若输入:Iamastudenttotaketheexamination.,

则应输出:IAmAStudentToTakeTheExamination.o

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

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

#include

#include

/************ft)und************/

include

/************d************/

voidupfst(charp)

{intk=0;

fbr(;*p;p++)

if(k)

{if(*p=,!)k=O;}

elseif(*p!=1*)

{k=1;*p=toupper(*p);}

main()

{charchrstr[81];

printsu\nPleaseenteranEnglishtextline:”);gets(chrstr);

printf(u\n\nBefbrechanging:\n%sn,chrstr);

upfst(chrstr);

prints"'-Afterchanging:\n%s\nu,chrstr);

}

11、给定程序M0DI1.C中函数fun的功能是:求出两个非零正整数的最大公约数,并作为

函数值返回。

例如,若给numl和num2分别输入49和21,则输出的最大公约数为7;若给numl

和num2分别输入27和81,则输出的最大公约数为27。

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

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

#include

intfun(inta,intb)

{intr,t;

if(a

/************ft)und************/

t=a;b=a;a=t;

)

r=a%b;

while(r!=0)

{a=b;b=r;r=a%b;}

/************************/

retum(a);

main()

{intnuml,num2,a;

printf(nInputnumlnum2:");scanf("%d%dn,&num1,&num2);

printf("numl=%dnum2=%d\n\nn,numl,num2);

a=fun(num1,num2);

printff'Themaximuncommondivisoris%d\n\nu,a);

}

12、给定程序MODILC中函数fun的功能是:将tt所指字符串中的小写字母都改为对应的

大写字母,其它字符不变。

例如,若输入"Ab,cD",则输出"AB,CD"。

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

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

#include

#include

char*fun(chartt[])

(

inti;

for(i=0;tt[i];i++)

if((<=tt[i])||(tt[i]<=>/))

tt[i]+=32;

retum(tt);

}

main()

{

chartt[81];

printf("\nPleaseenterastring:");

gets(tt);

printf("\nTheresultstringis:\n%s",fun(tt));

)

13、给定程序M0DI1.C的功能是:读入一个整数k(2WkW10000),打印它的所有质因子(即所

有为素数的因子)。

例如,若输入整数:2310,则应输出:2、3、5、7、11。

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

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

#include

/************Cund************/

IsPrime(intn);

{inti,m;

m=1

for(i=2;i<n;i++)

if!(n%i)

{m=0;break;}

return(m);

}

main()

{intj,k;

printf(u\nPleaseenteranintegernumberbetween2and10000:");scanf(u%dn,&k);

printf(H\n\nTheprimefactor(s)of%dis(arek);

for(j=2;j<=k;j+4-)

if((!(k%j))&&(IsPrime(j)))printf(u\nM",j);

printf(n\nH);

}

14、给定程序M0DI1.C中函数fun的功能是:把主函数中输入的3个数,最大的放在a中,

最小的放在c中,中间的放在b中。

例如,输入的数为:551234,

输出结果应当是:a=55.0,b=34.0,c=12.0»

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

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

#include

voidfun(float*a,float*b,float*c)

/**********仿und**********/

float*k;

if(*a<*b)

{k=*a;*a=*b;*b=k;}

/**********^^)und**********,

if(*a>*c)

{k=*c;*c=*a;*a=k;}

if(*b<*c)

{k=*b;*b=*c;*c=k;}

main()

{floata,b,c;

printf(nInputabc:”);scanf(,,%f%f%f,,&a,&b,&c);

printf("a=%4.1f,b=%4.1f,c=%4.1f\n\nu,a,b,c);

fun(&a,&b,&c);

printf(na=%4.1f,b=%4.1f,c=%4.1f\n\nn,a,b,c);

15、给定程序M0DI1.C中函数fUn的功能是:依次取出字符串中所有数字字符,形成新的字

符串,并取代原字符串。

请改正函数fun中指定部位的错误,使它能得出正确的结果。

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

#include

voidfun(char*s)

{inti,j;

for(i=O,j=O;s[i]!=''0';i++)

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

/*******************,

s[j]=s[i];

/**********仿und**********/

s0]=n\Ou;

main()

{charitem[80];

printfi(n\nEnterastring:n);gets(item);

printf(n\n\nThestringis:\"%s\n\n",item);

fun(item);

printf(H\n\nThestringofchangingis:V,%s\,'\nn,item);

}

16、给定程序中,函数fun的功能是:找出NxN矩阵中每列元素中的最大值,并按顺序依

次存放于形参b所指的一维数组中。

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

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

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

#include

#defineN4

voidfiin(int(*a)[N],int*b)

{inti,j;

for(i=0;i<N;I++){

b[i]=_l_;

for(j=l;j<N;J++)

y**********fgufid**********/V/N,J-1—1-)>

if(b[i]_2_aU][i])b[i]=a[j][i];

main()

{intx[N][N]={{12,5,8,7},{6,1,9,3},{1,2,3,4},{2,8,4,3}},y[N],ij;

printf(n\nThematrix:\nn);

fbr(i=O;i<N;I++)

{for(j=O;j<N;J++)PRINTF("Mn,X[I][J]);

printf(n\nH);</N;J++)PRINTF(HM';X[I][J]);></N;1++)>

/**********仿und**********/

fun(_3_);

printf(n\nTheresultis:");

for(i=0;i<N;I++)PRINTF(n=",Y[I]);

}</N;I++)PRINTF(n=n,Y[I]);>

17、给定程序中,函数fun的功能是:统计形参s所指字符串中数字字符出现的次数,并存

放在形参t所指的变量中,最后在主函数中输出。例如,形参s所指的字符串为:

abcdef35adgh3kjsdf7o输出结果为:4。

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

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

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

#include

voidfun(char*s,int*t)

{inti,n;

n=0;

/**********^Qund**********/

fbr(i=O;_1_!=0;i++)

/**********命und**********/

if(s[i]>=,0,&&s[i]<=___2___)n++;

/**********^ound**********/

_3_;

)

main()

{chars[80]=nabcdef35adgh3kjsdnn;

intt;

printf(n\nTheoriginalstringis:%s\n*',s);

fun(s,&t);

printf("\nTheresultis:%d\n",t);

}

18、函数fbn的功能是:把形参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

#defineN9

voidfun(inta[],intn)

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

for(i=0;i<N-l;I+=2)

{</N-l;I+=2)>

/**********'fV)und**********/

max=min=___1___;

px=pn=i;

for(j=i+l;j<N;J++){

/**********命und**********/v/N‘J++){>

if(max<__2___)

{max=a[j];px=j;}

/**********心und**********/

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+l]=max;a[px]=t;}

main()

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

printf(H\nTheoriginaldata:\nH);

for(i=0;i<N;I++)PRINTF(”M”,B[I]);

printf(n\nn);</N;I++)PRINTF("M",B[I]);>

fiin(b,N);

printff'\nThedataaftermoving:\nM);

for(i=0;i<N;I++)PRINTF(nM”,B[I]);

printf(n\nn);</N;I++)PRINTF("M",B[I]);>

19、给定程序中,函数fun的功能是:将形参s所指字符串中的所有数字字符顺序前移,其

他字符顺序后移,处理后新字符串的首地址作为函数值返回。

例如,s所指字符串为:asdl23fgh5##43df,

处理后新字符串为:123543asdfgh##df。

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

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

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

#include

#include

#include

#include

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));

j=0;k=0;

for(i=O;i<N;I++)

{if(isdigit(s[i])){</N;1++)>

P[_l_]=s[i];j++;)

else

{t[k]=s[i];k++;}

/*******************,

for(i=O;i<2_;i++)p[j+i]=t[i];

p[j+k]=O;

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

return3

main()

{chars[80];

printf(nPleaseinput:”);scanf("%sn,s);

printf(n\nTheresultis:%s\n",fun(s));

20、给定程序中,函数fun的功能是:有NxN矩阵,根据给定的m(m<=N)值,将每行元

素中的值均右移m个位置,左边置为0。例如,N=3,m=2,有下列矩阵

123

456

789程序执行结果为

001

004

007

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

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

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

#include

#defineN4

voidfun(int(*t)[N],intm)

{inti,j;

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

for(i=0;i<N;—1—)

{fbr(j=N-l-m;j>=0;j—)</N;___1___)>

/**********心und**********/

t[i]U+_2_]=t[i]U];

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

for(j=O;j<_3_;j++)

t[i]Li]=o;

main()

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

printf(n\nTheoriginalarrayAn");

for(i=0;i<N;I++)

{for(j=O;j<N;J++)

printf(n-n,t[i][j]);</N;J-H-)x/N;1++)>

printf(n\nH);

}

printf(nInputm(m<=%d):”,N);scanf(”%d”,&m);

fun(t,m);

printf(n\nTheresultis:\nn);

fbr(i=O;i<N;I++)

{for(j=O;j<N;J++)

printf(!,-",t[i][j]);</N;J-H-)X/N;

printf(H\nM);

}

)

21、函数fun的功能是:把形参a所指数组中的偶数按原顺序依次存放到a[0],a[l].a[2].........

中,把奇数从数组中删除,偶数个数通过函数值返回。例如:若a所指数组中的数据最初排

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

回值为4。

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

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

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

#include

#defineN9

intfiin(inta[],intn)

{intij;

j=0;

for(i=0;i<N;I++)

/**********qund**********/v/N'

if(_1_==0){

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

一2_=a[i];j++;

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

return3

main()

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

printf(H\nTheoriginaldata:\nH);

for(i=0;i<N;I++)PRINTF(”M”,B[I]);

printf(n\nn);</N;I++)PRINTF("M",B[I]);>

n=fun(b,N);

printf(n\nThenumberofeven:%d\nu,n);

printf(n\nTheeven:\n");

for(i=0;i<N;I++)PRINTF(nM”,B[I]);

printf(n\nn);</N;I++)PRINTF("M",B[I]);>

22、给定程序中,函数ftm的功能是:判定形参a所指的NxN(规定N为奇数)的矩阵是

否是“幻方”,若是,函数返回值为1;不是,函数返回值为0。“幻方”的判定条件是:矩阵

每行、每列、主对角线及反对角线上元素之和都相等。

例如,以下3x3的矩阵就是一个“幻方”:

492

357

816

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

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

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

#include

#defineN3

intfun(int(*a)[N])

{inti,j,m1,m2,row,colum;

ml=m2=0;

for(i=0;i<N;I++)

{j=N-i-l;ml+=a[i][i];m2+=a[i][j];}</N;

ifi(ml!=m2)return0;

for(i=0;i<N;I++){

/**********%un(j**********/v/N,J-H-){>

row=colum=_1_;

for(j=O;j<N;J++)

{row+=a[i][j];colum+=a[j][i];}</N;J-H-)>

/**********仿und**********/

if((row!=colum)_2_(row!=ml))return0;

/**********仿und**********/

return3

main()

{intx[N][N],i,j;

printff^Enternumberforarray:\nH);

for(i=0;i<N;I++)

for(j=0;j<N;J++)SCANF("%D",&X[I][J]);

printf(',Array:\nH);</N;J++)SCANF("%D",&X[I][J]);></N;I++)>

for(i=0;i<N;I++)

{for(j=O;j<N;J++)PRINTF("=”,X[I][J]);

}</N;J++)PRINTF(H=n,X[I][J]);></N;I++)>

ifi(fun(x))printffTheArrayisamagicsquareAn");

elseprintfC'TheArrayisn'tamagicsquareAn");

23、给定程序中,函数fun的功能是将a和b所指的两个字符串分别转换成面值相同的整数,

并进行相加作为函数值返回,规定字符串中只含9个以下数字字符。

例如,主函数中输入字符串:32486和12345,在主函数中输出的函数值为:44831。

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

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

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

#include

#include

#include

#defineN9

longctod(char*s)

{longd=0;

while(*s)

if(isdigit(*s)){

/*******************,

d=d*10+*s-1

/**********仿und**********/

2

returnd;

longftm(char*a,char*b)

/**********仿und**********/

return_3_;

main()

{charsl[N],s2[N];

do

{printf("Inputstringsi:");gets(sl);}

while(strlen(sl)>N);

do

{printf(uInputstrings2:");gets(s2);}

while(strlen(s2)>N);

printf(HTheresultis:%ld\n",fun(s1,s2));

)

24、给定程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一

个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动

(注:字符串的长度大于等于2)。例如,形参s所指的字符串为:abcdefgh,执行结果为:

ahcbedgfo

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

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

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

#include

voidfun(char*s)

{inti,n,k;charc;

n=0;

fbr(i=O;s[i]!='\0';i++)n++;

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

if(n%2==0)k=n-_1_;

elsek=n-2;

/**********^^)und**********,

c=2

for(i=k-2;i>=l;i=i-2)s[i+2]=s[i];

/**********^^)und**********,

s[l]=_3_;

main()

{chars[80]=uabcdefghH;

printff'WTheoriginalstringis:%s\nu,s);

fun(s);

printf(n\nTheresultis:%s\nn,s);

25、给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将

其余字符串右边用字符*补齐,使其与最长的字符串等长。ss所指字符串数组中共有M个字

符串,且串长

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

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

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

#include

#include

#defineM5

#defineN20

voidfun(char(*ss)[N])

{inti,j,n,len=0;

fbr(i=O;i<M;I++)

{len=strlen(ss[i]);</M;I++)>

ifi(i==0)n=len;

if(len>n)n=len;

fbr(i=O;i〈M;I++){

/**********%und**********/v/M,[++)|>

n=strlen(___1___):

for(j=O;j<LEN-N;J++)

/**********f^)und**********/v/LEN・N•J-H-^>

ss[i][_2_]='*';

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

ss[i][n+j+-3_]='\0';

main()

{charss[M][N]={nshanghai",ngiiangzhou",,,beijing","tianjing,,,ncchongqingn);

inti;

printff'Theoriginalstringsare:\nn);

for(i=0;i<M;I++)PRINTF(H%S\Nn,SS[I]);

printf(n\nn);</M;I++)PRINTF(n%S\NH,SS[I]);>

fun(ss);

printf(HTheresultis:\n");

for(i=O;i<M;I++)PRINTF(H%S\Nn,SS[I]);

}</M;I++)PRINTFC%S\N';SS[I]);>

26、给定程序中,函数ftin的功能是:将NxN矩阵中元素的值按列右移1个位置,右边被

移出矩阵的元素绕回左边。例如,N=3,有下列矩阵

123

456

789计算结果为

312

645

978

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

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

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

#include

#defineN4

voidfun(int(*t)[N])

{inti,j,x;

/**********仿und**********/

fbr(i=O;i<___1___;i++)

/**********^^)und**********,

x=t[i][_2_];

for0=N-l;j>=l;j-)

t[i]U]=t[i]U-l];

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

t[i][_3_]=x;

main()

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

printff'Theoriginalarray:\n");

for(i=0;i<N;I++)

{for(j=O;j<N;J++)PRINTF(M-",T[I][J]);

printf(n\nH);</N;J++)PRINTF("-n,T[I][J]);x/N;1++)>

fun(t);

printf(n\nTheresultis:\nn);

for(i=0;i<N;I++)

{for(j=O;j<N;J++)PRINTF(n-M,T[I][J]);

printf(n\nH);</N;J++)PRINTF(n-n,T[I][J]);></N;I-H-)>

27、给定程序中,函数fun的功能是根据形参i的值返回某个函数的值。当调用正确时,程

序输出:

xl=5.000000,x2=3.000000,xl*xl+xl*x2=40.000000

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

注意:源程序存放在考生文件夹下的BLANKLC中。

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

#include

doublefl(doublex)

{returnx*x;}

doublef2(doublex,doubley)

{returnx*y;}

/*******************,

_1_fun(inti,doublex,doubley)

{if(i==D

/*******************,

return_2_(x);

else

/*******************,

return_3_(x,y);

main()

{doublexl=5,x2=3,r;

r=fiin(l,xl,x2);

r+=fun(2,xl,x2);

printf(n\nxl=%f,x2=%f,xl*xl+xl*x2=%f\n\nu,xl,x2,r);

}

28、给定程序的主函数中,己给出由结构体构成的链表结点a、b、c,各结点的数据域中均

存入字符,函数fun()的作用是:将a、b、c三个结点链接成一个单向链表,并输出链表结

点中的数据。

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

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

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

#include

typedefstructlist

{chardata;

structlist*next;

(Q;

voidfun(Q*pa,Q*pb,Q*pc)

{Q*P;

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

pa->next=1___;

pb->next=pc;

P=pa;

while(p)

/**********^^)und**********,

printf(H%cu,2);

/**********仿und**********/

P=3.

printf(n\nH);

main()

{Qa,b,c;

a.data=,E,;b.data=,F,;c.data=,G,;c.next=NULL;

fiin(&a,&b,&c);

)

29、给定程序中,函数fun的功能是:对形参ss所指字符串数组中的M个字符串按长度由

短到长进行排序。ss所指字符串数组中共有M个字符串,且串长

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

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

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

#include

#include

#defineM5

#defineN20

voidfun(char(*ss)[N])

{inti,j,k,n[M];chart[N];

fbr(i=O;i<M;I++)N[I]=STRLEN(SS[I]);

for(i=0;I-H-)

{k=i;v/M-1;I++)>v/M;I++)N[I]=STRLEN(SS[I]);>

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

for(j=_1_;j<M;J++)

/**********%und**********/v/M*

if(n[k]>nU])_2_:

if(k!=i)

{strcpy(t,ss[i]);

strcpy(ss[i],ss[k]);

/**********仿und**********/

strcpy(ss[k],_3_);

n[k]=n[i];

main()

{charss[M][N]={nshanghai";,guangzhou',,nbeijing',,ntianjing,,,ncchongqingM};

inti;

printff'WTheoriginalstringsare:\nn);

for(i=O;i<M;I++)PRINTF(H%S\Nn,SS[I]);

printf(n\nn);</M;I-H-)PRINTF(n%S\NH,SS[I]);>

fun(ss);

printf(n\nTheresult:\nH);

fbr(i=O;i<M;I++)PRINTF(u%S\Nn,SS[I]);

}</M;I++)PRINTF(n%S\Nn,SS[I]);>

30、给定程序中,函数ftm的作用是:统计整型变量m中各数字出现的次数,并存放到数

组a中,其中:a[0]存放0出现的次数,a[l]存放1出现的次数,……a[9]存放9出现的次数。

例如,若m为14579233,则输出结果应为:0,1,1,2,1,1,0,1,0,1,

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

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

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

#include

voidfun(intm,inta[10])

{inti;

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

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

l_=0;

while(m>0)

/**********仿und**********/

i=2

a[i]++;

/**********f^)und**********j

m=___3___;

}

)

main()

{intm,a[10],i;

printf(”请输入一个整数:");scanff%d”,&m);

fun(m,a);

for(i=O;i<10;i++)printf("%d,H,a[i]);printf("\n");

)

31、给定程序中,函数fun的功能是:在形参s所指字符串中的每个数字字符之后插入一个

*号。例如,形参s所指的字符串为:def35adh3kjsdf7»执行结果为:def3*5*adh3*kjsdf7*。

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

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

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

#include

voidfun(char*s)

{inti,j,n;

for(i=0;s[i]!=,\0,;i++)

/**********Cund**********/

if(s[i]>=U—1_s[i]<=,9,)

{n=0;

/**********^^)und**********,

while(s[i+l+n]!=___2___)n++;

for(j=i+n+l;j>i;j-)

/**********^^)und**********,

s[j+l]=_3_:

sLi+i]='*';

i=i+l;

main()

{chars[80]=nba3a54cd23an;

printff'WTheoriginalstringis:%s\nu,s);

fiin(s);

printf(n\nTheresultis:%s\nn,s);

32、函数fun的功能是:输出a所指数组中的前n个数据,要求每行输出5个数。

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

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

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

#include

#include

voidfun(int*a,intn)

{inti;

fbr(i=O;i<N;I++)

{</N;1++)>

/*******************,

iff_1_=0)

/**********仿und**********/

printfC1_2_”);

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

printf(n%dn,_3_);

main()

{inta[100]={0},i,n;

n=22;

for(i=O;i<N;I++)A[I]=RAND()!;

fun(a,n);</N;I-H-)A[I]=RAND()!;>

printf(n\nH);

}

33、给定程序中,函

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论