計算機二級上機填空題_第1頁
計算機二級上機填空題_第2頁
計算機二級上機填空題_第3頁
計算機二級上機填空題_第4頁
計算機二級上機填空題_第5頁
已閱讀5頁,還剩81頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1.填空題

給定程序中,函數(shù)fun的功能是:將形參n中各位上為偶數(shù)的數(shù)取出,按原來從高位到低位

的順序組成一個新的數(shù),并作為函數(shù)值返回。

例如,從主函數(shù)輸入?個整數(shù)27638496,函數(shù)返回值為26846。

請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<stdio.h>

unsignedlongfun(unsignedlongn)

unsignedlongx=0,s,i;

intt;

s=n;

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

i=l;

/**********found******不**¥/

while(s>0)

t=s%10;

if(t%2==0)

/**********found*********字/

x=x+t*i;i=i*10;

s=s/10;

returnx;

main()

unsignedlongn=-l;

while(n>99999999lln<0)

printf("input(O<n<l00000000):");

scanf(n%ldM,&n);

printf(M\nTheresultis:%ld\nn,fun(n));

L填空題

給定程序中,函數(shù)fun的功能是:找出NXN矩陣中每列元素中的最大值,并按順序依次存

放于形參b所指的一維數(shù)組中。

請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<stdio.h>

#defineN4

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

inti,j;

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

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

b[i]=a|Olfi];

for(j=ly<N;j++)

字字*******found******¥¥字字/

if(b[i]<a[j][i])

b[i]=aU][i];

)

main()

intx[N][N]={{12,5,8,7},{6,l,9,3),

{l,2,3,4},{2,8,4,3}),y[N],ij;

printf(M\nThematrix:\n");

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

for(j=0;j<N;j++)

printf("%4d",x[i][j]);

printf("\n");

)

字字*******found******¥¥字字/

fun(x,y);

printf("\nTheresultis:");

for(i=0;i<N;i++)printf("%3d",y[i]);

printf("\n");

)

1.填空題

程序通過定義學生結(jié)構(gòu)體變量,存儲了學生的學號、姓名和3門課的成績。所有學生數(shù)據(jù)均

以二進制方式輸出到student.dat文件中。函數(shù)fun的功能是從指定文件中找出指定學號的學

生數(shù)據(jù),讀入此學生數(shù)據(jù),對該生的分數(shù)進行修改,使每門課的分數(shù)加3分,修改后重寫文

件中該學生的數(shù)據(jù),即用該學生的新數(shù)據(jù)覆蓋原數(shù)據(jù),其他學生數(shù)據(jù)不變;若找不到,則什

么都不做。

請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<stdio.h>

#defineN5

typedefstructstudent

{longsno;

charname[10];

floatscore[3];

}STU;

voidfun(char*filename,longsno)

FILE*fp;

STUn;inti;

fp=fopen(fllename,"rb+”);

/*字字*******found******字字字字/

while(!feof(fp))

fread(&n,sizeof(STU),1,fp);

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

if(n.sno==sno)break;

if(!feof(fp))

for(i=0;i<3;i++)n.score[i]+=3;

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

fseek(fpjL*sizeof(STU),SEEK_CUR);

fwrite(&n,sizeof(STU),1,fp);

)

fclose(fp);

)

main()

STUt[N]={{10001;'MaChao",91,92,77},

{10002,℃aoKai",75,60,88},

{10003;'LiSi",85,70,78},

{10004,TangFang';90,82,87},

{10005,nZhangSanH,95,80,88}},ss[N];

inti,j;FILE*fp;

fp=fopen(nstudent.datu,"wb");

fwrite(t,sizeof(STU),N,fp);

fclose(fp);

printf(M\nTheoriginaldata:\nM);

fp=fopen(',student.dat,',"rb'');

fread(ss,sizeof(STU),N,fp);

fclose(fp);

for(j=0;j<N;j++)

printf(n\nNo:%ldName:%-8sScores:n,

ss[j].sno,ss[jl,name);

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

printf("%6.2f",ss[j].score[i]);

printfCAn1');

fun(nstudent.dal",10003);

fp=fopen(',student.dat","rbH);

fread(ss,sizeof(STU),N,fp);

fclose(fp);

printf("\nThedataaftermodifying:\nM);

for(j=0;j<N;j++)

printf("\nNo:%ldName:%-8sScores:",

ss[j].sno,ss|j].name);

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

printf(n%6.2f;ss[j].score[i]);

printf("\n");

)

1.填空題

給定程序中,函數(shù)fun的功能是將帶頭結(jié)點的單向鏈表結(jié)點數(shù)據(jù)域中的數(shù)據(jù)從小到大排序。

即若原鏈表結(jié)點數(shù)據(jù)域從頭至尾的數(shù)據(jù)為:16、3、1、7、5,排序后鏈表結(jié)點數(shù)據(jù)域從頭至

尾的數(shù)據(jù)為:1、3、5、7、16。

請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<stdio.h>

#include<stdlib.h>

#defineN6

typedefstructnode

{intdata;

structnode*next;

}NODE;

voidfun(NODE*h)

NODE*p,*q;intt;

/**********found*********萃/

p=h->next;

while(p)

/**********found*******不**/

q=p->next:

while(q)

/**********found*********琴/

if(p->data>q->data)

t=p->data;

p->data=q->data;

q->data=t;

)

q=q->next;

)

p=p->next;

)

)

NODE*creatlist(inta[])

(

NODE*h,*p,*q;inti;

h=(NODE*)malloc(sizeof(NODE));

h->next=NULL;

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

(

q=(NODE*)malloc(sizeof(NODE));

q->data=a[i];

q->next=NULL;

if(h->next==NULL)h->next=p=q;

else{p->next=q;p=q;}

)

returnh;

)

voidoutlist(NODE*h)

(

NODE*p;

p=h->next;

if(p==NULL)

printf(MThelistisNULL!\nM);

else

(

printf(M\nHead");

do

(

printf(n->%dn,p->data);

p=p->next;

}while(p!=NULL);

printf(H->End\nn);

)

)

main()

(

NODE*head;

inta[N]={0,16,3,1,7,5};

head=creatlist(a);

printf("\nTheoriginallist:\n");

outlist(head);

fun(head);

printf("\nThelistaftersorting:\n");

outlist(head);

)

1.填空題

給定程序中,函數(shù)fun的功能是:計算下式前n項的和作為函數(shù)值返回:

S=1*3/2*2+3*5/4*4+5*7/6*6+...+(2n-l)*(2n+2)/

(2n)*(2n)

例如:當行參n的值為10時,函數(shù)返回9.612558。

請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果o

注意:部分源程序已給出。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<stdio.h>

doublefun(intn)

inti;doubles,t;

/*字********found******¥*亭亭/

s=0;

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

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

t=2.0*i;

/**********found*********不/

s=s+(2.0*i-l)*(2.0*i+l)/(t*t);

)

returns;

)

main()

intn="l;

while(n<0)

printf(MPleaseinput(n>0):");

scanf(”%d”,&n);

)

printf("Theresultis:%f\nH,fun(n));

)

1.填空題

給定程序中,函數(shù)fun的功能是:將形參s所指字符串中的所有字母字符順序前移,其他字

符順序后移,處理后新字符串的首地址作為函數(shù)值返回。

例如,s所指字符串為:asdl23fgh543df,處理后新字符串為:asdfghdf12543,

請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

char*fun(char*s)

inti,j,k,n;

char

n=strlen(s)+l;

t=(char*)malloc(n*sizeof(char));

p=(char*)malloc(n*sizeof(char));

j=O;k=O;

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

if<((s[i]>='a')&&(s[i]<='z'))

ll((s[i]>='A')&&(s[i]<='Z')))

/**********found******亭***/

{t[j]=sfi];j++;}

else

{p[k]=s[i];k++;)

)

/**********found*********字/

fbr(i=O;i<k;i++)t[j+i]=p[i];

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

t[j+k]=*\O,;

returnt;

)

main()

chars[80];

printf(nPleaseinput:");

scanf("%s”,s);

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

1.填空題

程序通過定義學生結(jié)構(gòu)體變量,存儲了學生的學號、姓名和3門課的成績。函數(shù)fun的功能

是將形參a所指結(jié)構(gòu)體變量中的數(shù)據(jù)賦給函數(shù)中的結(jié)構(gòu)體變量b,并修改b中的學號和姓名,

最后輸出修改后的數(shù)據(jù)。

例如:a所指變量中的學號、姓名、和三門課的成績依次是:10001、“ZhangSan"、95、80、

88,則修改后輸出b中的數(shù)據(jù)應(yīng)為:10002、“LiSi”、95、80、88。

請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<stdio.h>

#include<string.h>

structstudent

{longsno;

charname[10];

floatscore[3];

);

voidfun(structstudenta)

structstudentb;inti;

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

b=a;

b.sno=10002;

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

strcpy(b.namc,,'LiSi,');

printf(nThedataaftermodified:\n");

printf(nNo:%ldName:%s\nScores:",

b.sno,);

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

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

printf(n%6.2r,b.score[ij);

printf(n\n");

}

main()

structstudent

s={10001,“ZhangSan”,95,80,88);

inti;

printf(nTheoriginaldata:\nn);

printf("No:%ldName:%s\nScores:",

s.sno,);

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

printf(H%6.2f,s.scorelij);

printf(n\nn);

fun(s);

1.填空題

給定程序中,函數(shù)fun的功能是用函數(shù)指針指向要調(diào)用的函數(shù),并進行調(diào)用。規(guī)定在第2處

使f指向函數(shù)fl,在第3處使f指向函數(shù)f2。當調(diào)用正確時,程序輸出:xl=5.000000,

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

請在程序的卜.劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

注意:源程序已給出。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<stdio.h>

doublefl(doublex)

{returnx*x;}

doublef2(doublex,doubley)

{returnx*y;}

doublefun(doublea,doubleb)

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

double(*f)();

doublerl,r2;

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

f=fl;/*pointfountionfl*/

rl=f(a);

/*字字*******found******¥¥字字/

f=f2;/*pointfountionf2*/

r2=(*f)(a,b);

returnrl+r2;

)

main()

(

doublexl=5,x2=3,r;

r=fun(xl,x2);

printfC'xl=%f,x2=%f,xl*xl+xl*x2=%f\n",

xl,x2,r);

}

L填空題

給定程序中,函數(shù)fun的功能是:將形參n中,各位上為偶數(shù)的數(shù)取出,并按原來從高位到

低位相反的順序組成一個新的數(shù),并作為函數(shù)值返回。

例如,輸入一個整數(shù):27638496,函數(shù)返回值為:64862。

請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<stdio.h>

unsignedlongfun(unsignedlongn)

unsignedlongx=0;

intt;

while(n)

t=n%10;

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

if(t%2==0)

/**********found*********字/

x=x*10+t;

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

n=n/l();

returnx;

main()

unsignedlongn=-l;

while(n>99999999lln<0)

printf(Minput(O<n<100000000):");

scanf("%ldH,&n);

)

printf(MTheresultis:%ld\n",fun(n));

)

1.填空題

程序通過定義學生結(jié)構(gòu)體變量,存儲了學生的學號、姓名和3門課的成績。所有學生數(shù)據(jù)均

以二進制方式輸出到文件中。函數(shù)fun的功能是從形參filename所指的文件中讀入學生數(shù)據(jù),

并按照學號從小到大排序后,再用二進制方式把排序后的學生數(shù)據(jù)輸出到filename所指的文

件中,覆蓋原來的文件內(nèi)容。

請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<stdio.h>

#defineN5

typedefstructstudent

{longsno;

charnamefl01;

floatscore[3];

}STU;

voidfun(char*filename)

FILE*fp;intij;

STUs[N],t;

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

fp=fopen(filename,''rb*');

fread(s,sizeof(STU),N,fp);

fclose(fp);

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

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

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

if(s[i].sno>s|j|.sno)

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

fp二fopen(filename,”wb");

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

fwrite(s,sizeof(STU),N,fp);

fclose(fp);

main()

STUt[N]={{10005,nZhangSanH,95,80,88},

{10003,nLiSiu,85,70,78),

{l0002/CaoKaiH,75,60,88),

{10004,nFangFangn,90,82,87},

{10001,nMaChaoH,91,92,77}},ss[N];

inti,j;

FILE*fp;

fp=fopen("student.dat"Jwb");

fwrite(t,sizeof(STU),5,fp);

fclose(fp);

printf("Theoriginaldata:\n\nM);

for(j=0;j<N;j++)

(

printf("No:%ldName:%-8sScores:",

t|j].sno,t[j].name);

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

printf(H%6.2fM[j].score[i]);

printf(n\n,');

)

fun("student.dat");

printf(MThedataaftersorting:\nn);

fp=fopen(Hstudent.datn,"rb");

fread(ss,sizeof(STU),5,fp);

fclose(fp);

for(j=0;j<N;j++)

(

printf(MNo:%ldName:%-8sScores:u,

ss|j].sno,ss[j].name);

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

printf(n%6.2fn,ss[j].score[i]);

printfCAn1');

)

)

1.填空題

給定程序中,函數(shù)fun的功能是:利用指針數(shù)組對形參ss所指字符串數(shù)組中的字符串按由

長到短的順序排序,并輸出排序結(jié)果。ss所指字符串數(shù)組中共有N個字符串,且串長小于

Mo

請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<stdio.h>

#include<string.h>

#defineN5

#defineM8

voidfun(char(*ss)[M])

char*ps[N],*tp;

inti,j,k;

for(i=0;i<N;i++)ps[i]=ss[i];

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

k=i:

for(j=i+l;jvN;j++)

字字*******found******¥¥字字/

if(strlen(ps[k])<strlen(ps[j]))

k=j;

/**********found*******亭*¥/

tp=ps[i];ps[i]=ps[k];ps[k]=tp;

)

printf(HThestringaftersortingby

lengthAn");

for(i=0;i<N;i++)puts(ps[i]);

)

main()

(

charch[N][M]={uredn,"green","blue",

,,yellow,,;,blackn);

inti;

printf(MTheoriginalstring\nH);

for(i=0;i<N;i++)puts(ch[i]);

printf(n\nM);

fun(ch);

)

1.填空題

給定程序中,函數(shù)fun的功能是將不帶頭結(jié)點的單向鏈表逆置。即若原鏈表中從頭至尾結(jié)點

數(shù)據(jù)域依次為:2、4、6、8、10,逆置后,從頭至尾結(jié)點數(shù)據(jù)域依次為:10、8、6、4、2。

請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<stdio.h>

#include<stdlib.h>

#defineN5

typedefstructnode

{intdata;

structnode*next;

}NODE;

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

NODE:i:fun(NODE*h)

NODE*p,*q,*r;

p=h;

if(p==NULL)returnNULL;

q=p->next;

p->next=NULL;

/*¥¥*******found******¥¥¥'/

while(q!=NULL)

(

r=q->next;

q->next=p;

p二q;

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

q=r:

)

returnp;

)

NODE*creatlist(inta[])

(

NODE*h,*p,*q;inti;

h=NULL;

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

(

q=(NODE*)malloc(sizeof(NODE));

q->data=a[i];

q->next=NULL;

if(h==NULL)h=p=q;

else{p->next=q;p=q;}

)

returnh;

)

voidoutlist(NODE*h)

(

NODE*p;

p=h;

if(p==NULL)

printf(MThelistisNULL!\nM);

else

(

printf("\nHead");

do

(

printf(H->%d",p->data);

p=p->next;

}while(p!=NULL);

printf(n->End\nn);

main()

NODE*head;

inta[N]={2,4,6,8,10);

head=creatlist(a);

printf("\nTheoriginallist:\nn);

outlist(head);

head=fun(head);

printf(nThelistafterinverting:\n");

outlist(head);

1.填空題

給定程序中,函數(shù)fun的功能是:將形參s所指字符串中的所有數(shù)字字符順序前移,其他字

符順序后移,處理后新字符串的首地址作為函數(shù)值返回。

例如,s所指字符串為:asdl23fgh5##43df,處理后新字符串為:12543asdfgh##df。

請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

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

j=0;k=0;

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

if(isdigit(s[i])){

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

Pfjl=s[i];j++;)

else

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

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

for(i=0;i<k;i++)p|j+ij=t[ij;

p[j+k]=O;

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

return

main()

chars[80];

printf(nPleaseinput:");

scanf(n%sn,s);

printf(nTheresultis:%s\nH,fun(s));

1.填空題

給定程序中通過定義學生結(jié)構(gòu)體變量存儲了學生的學號、姓名和3門課的成績。函數(shù)fun的

功能是將該學生的結(jié)構(gòu)體變量整體賦值,修改新變量中的學號和姓名并打印出來。

n

例如:a={10001;'ZhangSan,95,80,88},則結(jié)果為:b={10002;'LiSi';95,80,88}o

請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<stdio.h>

#include<string.h>

structstudent

{longsno;

charname[10];

floatscore[3];

);

voidfun(structstudenta)

structstudentb;

inti;

字字*******found******¥¥字字/

b=a;

b.sno=10002;

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

strcpy(,"LiSi");

primf(”學號:%d姓名:%-8s各科成績:”,

b.sno,);

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

/*¥¥*******fOUnd******¥孝¥¥/

printf(',%6.2f,,b.score[ij);

printf(n\n");

)

voidmain()

structstudents={10001,"ZhangSan",

95,80,88);

inti;

prinlf("學號:%d姓名:%-8s各科成績:”,

s.sno,);

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

printf(n%6.2fH,s.score[i]);

printf("\nn);

fun(s);

}

1.填空題

所給程序中,函數(shù)fun的功能是:將單鏈表的元素從小到大排序。即若原鏈表元素為:10、

4、2、8、6,排序后鏈表元素為:2、4、6^8、10。

請在程序的卜劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<stdio.h>

#include<stdlib.h>

typedefstructnode

{intdata;

structnode*next;

}NODE;

voidfun(NODE*h)

(

NODE*p,*q;

intt;

p=h;

while(p)

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

q=p->next;

/*字字*******found******'孝字字/

while(q)

(

if(p->data>q->data)

(

t=p->data;

p->data=q->data;

q->data=t;

q=q->next;

/**********found*******不**/

p=p->next;

voidmain()

NODE*h=NULL,*p,*q;

inti,a[6]={0,10,4,2,8,6};

for(i=l;i<=5;i++)

q=(NODE*)malloc(sizeof(NODE));

q->data=a[i];

q->next=NULL;

if(h==NULL)

h=p=q;

else

{p->next=q;p=q;}

)

printf("排序前:");

p=h;

while(p)

(

printf(n%dH,p->data);

p=p->next;

)

fun(h);

printf("\n排序后:");

p=h;

while(p)

(

printf("%d",p->data);

p=p->next;

)

)

1.填空題

給定程序中,函數(shù)fun的功能是計算下式:

請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<stdio.h>

doublefun(doublee)

inti;doubles,x;

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

s=0;i=0;

x=1.0;

while(x>e)

/**********found*********琴/

i++;

/**********found*********不/

x=(2*i-1)*(2*i+1)/((2.*i)*(2*i));

s=s+x;

returns;

main()

doublee=le-6;

printf(MTheresultis:%f\n",fun(e));

)

1.填空題

給定程序中,函數(shù)fun的功能是:計算x所指數(shù)組中N個數(shù)的平均值(規(guī)定所有數(shù)均為正

數(shù)),平均值通過形參返回主函數(shù),將小于平均值且最接近平均值的數(shù)作為函數(shù)值返回,在

主函數(shù)中輸出。

例如,有10個正數(shù):46、30、32、40、6、17、45>15、48、26,平均值為:30.500000

主函數(shù)中輸出:m=30.0

請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<stdlib.h>

#defineN10

doublefun(doublex[],double*av)

inti,j;

doubled,s=0;

for(i=0;i<N;i++)s=s+x[i];

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

=s/N;

d=32767;

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

if(x[i]v*av&&*av-x[ij<=d){

/*本字*******found******¥不宇字/

d=*av-x[i];j=i;}

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

returnx|j];

main()

inti;

doublex[N],av,m;

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

{x[i]=rand()%50;

printf(M%4.0f\x[i]);}

printf("\nH);

m=fun(x,&av);

printf(n\nTheaverageis:%f\n'\av);

printf(Mm=%5.1f",m);

printf("\n");

(

1.填空題

給定程序中,函數(shù)fun的功能是:調(diào)用隨機函數(shù)產(chǎn)生20個互不相同的整數(shù)放在形參a所指

數(shù)組中(此數(shù)組在主函數(shù)中已置0)。

請在程序的下劃線處填入正確的內(nèi)容并把卜劃線刪除,使程序得出正確的結(jié)果。

注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<stdlib.h>

#defineN20

voidfun(int*a)

(

inti,x,n=0;

x=rand()%20;

/**********found*******亭*不/

while(n<20)

(

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

/*字********found******¥*亭亭/

if(x==a[i])break;

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

if(i==n){a[n]=x;n++;}

x=rand()%20;

)

)

main()

(

intx[N]={0},i;

fun(x);

printf(MTheresult::\nH);

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

(

printf(n%4dn,x[i]);

if((i+l)%5==0)printfCAn'*);

)

printf(n\n\n");

)

L填空題

給定程序中,函數(shù)fun的功能是:將a所指3X5矩陣中第k列的元素左移到第0歹U,第k

列以后的每列元素依次左移,原來左邊的各列依次繞到右邊。

例如,有下列矩陣:

12345

12345

12345

若k為2,程序執(zhí)行結(jié)果為

34512

34512

34512

請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<stdio.h>

#defineM3

#defineN5

voidfun(int(*a)[N],intk)

inti,j,p,temp;

/**********found*******亭*彳/

for(p=l;p<=k;p++)

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

temp=a[i][0];

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

forQ=0;j<n-l;j++)

a[i][j]=a[i][j+l];

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

a[i][N-l]=temp;

)

)

main()

(

intx[M][N]={{1,2,3,4,5},{1,2,3,4,5),

{123,4,5}},i,j;

printf(MThearraybeforemovingAn");

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

(

for(j=0;j<N;j++)

printf("\nn);

)

fun(x,2);

printf(MThearrayaftermoving:\nu);

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

(

for(j=0;j<N;j++)

printfCXn1');

1.填空題

給定程序中,函數(shù)fun的功能是:將形參s所指字符串中的數(shù)字字符轉(zhuǎn)換成對應(yīng)的數(shù)值,計

算出這些數(shù)值的累加和作為函數(shù)值返回。

例如,形參s所指的字符串為:abs5defl26jkm8,程序執(zhí)行后的輸出結(jié)果為:22。

請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<stdio.h>

#include<string.h>

#include<ctype.h>

intfun(char*s)

intsum=0;

while(*s){

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

if(isdigit(*s))sum+=*s-48;

/**********found******不**¥/

s++;

/*字********found******¥*亭亭/

returnsum

)

main()

chars[81];intn;

printf(M\nEnterastring:\n\nM);

gets(s);

n=fun(s);

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

)

L填空題

給定程序中,函數(shù)fun的功能是:在形參ss所指字符串數(shù)組中查找與形參t所指字符串相同

的串,找到后返回該串在字符串數(shù)組中的位置(下標值),未找到則返回-1。所指字符串

數(shù)組中共有N個內(nèi)容不同的字符串,且串長小于M。

請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<stdio.h>

#include<string.h>

#defineN5

#defineM8

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

inti;

/**********found*********不/

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

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

if(strcmp(ss[i],t)==O)returni

return-1;

main()

charch[N][M]={“if","while”,“switch”,

intn,i;

printf(MTheoriginalstring\nn);

for(i=0;i<N;i++)puts(ch[i]);

printf(H\n");

printf(n\nEnterastringforsearch:");

gets(t);

n=fun(ch,t);

/**********found******不**¥/

if(n==-l)

printfC'Don'tfound?”);

else

printf(nThepositionis%d.\nH,n);

)

1.填空題

給定程序中,函數(shù)fun的功能是:在形參ss所指字符串數(shù)組中,將所有串長超過k的字符

串中右邊的字符刪除,只保留左邊的k個字符。ss所指字符串數(shù)組中共有N個字符串,且

串長小于M。

請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<stdio.h>

#include<string.h>

#defineN5

#defineM10

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

voidfun(char(*ss)[10]intk)

inti=0;

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

while(i<N){

/**********found*********字/

ss[i]lkJ=,\OV;i++;}

main()

charx[NJ[M]={nCreaten,"Modify0,

"Sortn;'skipu,nDelete"};

inti;

printf("Theoriginalstring\n");

for(i=0;i<N;i++)puts(x[i]);

printf("\n");

fun(x,4);

printf("Thestringafterdeleted:\n");

for(i=0;i<N;i++)puts(x[i]);

printf("\n");

)

1.填空題

程序通過定義學生結(jié)構(gòu)體變量,存儲了學生的學號、姓名和3門課的成績。函數(shù)fun的功能

是將形參a所指結(jié)構(gòu)體變量s中的數(shù)據(jù)進行修改,并把a中地址作為函數(shù)值返回主函數(shù),在

主函數(shù)中輸出修改后的數(shù)據(jù)。

例如:a所指變量s中的學號、姓名、和三門課的成績依次是:10001、"ZhangSan"、95、80、

88,修改后輸出t中的數(shù)據(jù)應(yīng)為:10002、"LiSi"、96、81、89。

請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<stdio.h>

#include<string.h>

structstudent

{longsno;

charnamefl01;

floatscore[3];

);

/**********found*********琴/

structstudent*fun(structstudent*a)

(

inti;

a->sno=10002;

strcpy(a->name,HLiSi");

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

for(i=0;i<3;i++)a->score|i|+=1;

/**********found*********萃/

returna;

main()

structstudents={10001,"ZhangSann,

95,80,88},*t;

inti;

printf(MTheoriginaldata:\nn);

printf(nNo:%ldName:%s\nScores:

s.sno,);

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

printf(,,%6.2fM,s.score[iJ);

print心n");

t=fun(&s);

printf(MThedataaftermodified:\nH);

printf(nNo:%ldName:%s\nScores:"

t->sno,t->name);

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

printf('1%6.2fu,t->score[i]);

printf(n\nn);

1.填空題

給定程序中,函數(shù)fun的功能是將帶頭結(jié)點的單向鏈表逆置。即若原鏈表中從頭至尾結(jié)點數(shù)

據(jù)域依次為:2、4、6、8、10,逆置后從頭至尾結(jié)點數(shù)據(jù)域依次為:10、8、6、4、2。

請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<stdio.h>

#include<stdlib.h>

#defineN5

typedefstructnode

{intdata;

structnode*next;

}NODE;

voidfun(NODE*h)

NODE*p,*q,*r;

字字*******found******¥¥字字/

p=h->next;

/**¥*******found*******#¥*/

if(p==NULL)retum;

q=p->next;

p->next=NULL;

while(q)

r=q->next;q->next=p;

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

p=q;q=r;

)

h->next=p;

)

NODE*creatlist(intaf])

(

NODE*h,*p,*q;inti;

h=(NODE*)malloc(sizeof(NODE));

h->next=NULL;

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

q=(NODE*)malloc(sizeof(NODE));

q->data=a[i];

q->next=NULL;

if(h->next==NULL)h->next=p=q;

else{p->next=q;p=q;}

)

returnh;

)

voidoutlist(NODE*h)

(

NODE*p;

p=h->next;

if(p==NULL)

printf("ThelistisNULL!\n");

else

(

printf("Head");

do

(

printf("->%d",p->data);

p=p->next;

}while(p!=NULL);

printf(',->End\nn);

)

)

main()

(

NODE*head;

inta[N]={2,4,6,8,10);

head=creatlist(a);

printf("Theoriginallist:\nn);

outlist(head);

fun(head);

printf(nThelistafterinverting:\n");

outlist(head);

)

1.填空題程序通過定義學生結(jié)構(gòu)體變量,存儲了學生的學號、姓名和3門課的成績。

所有學生數(shù)據(jù)均以二進制方式輸出到文件中。函數(shù)fun的功能是重寫形參filename所指文

件中最后一個學生的數(shù)據(jù),即用新的學生數(shù)據(jù)覆蓋該學生原來的數(shù)據(jù),其他學生的數(shù)據(jù)不變。

請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<stdio.h>

#defineN5

typedefstructstudent

{longsno;

charname[10];

floatscore[3];

}STU;

voidfun(char*filename,STUn)

FILE*fp;

/*孝********found*****不孝不**/

fp=fopen(filcname,"rb+”);

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

fseek(fp,-lL*sizeof(STU),2);

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

fwrite(&n,sizeof(STU),l,fp);

fclose(fp);

)

main()

(

STUt[N]={{10001,"MaChaou,91,92,77},

{10002;'CaoKain,75,60,88),

{10003;'LiSi",85,70,78},

{10004,"FangFang”,90,82,87},

{10005JZhangSan”,95,80,88}};

STUn={10006,"ZhaoSin,55,70,68},ss[N];

intI,j;FILE*fp;

fp=fopen("student.datn,"wbM);

fwrite(t,sizeof(STU),N,fp);

fclose(fp);

fp=fopen(',student.dat,,,',rb'*);

fread(ss,sizeof(STU),N,fp);

fclose(fp);

printf(M\nTheoriginaldata:\n\nM);

for(j=0;j<N;j++)

(

printf("No:%ldName:%-8sScores:",

ss|jj.sno,ss[j].name);

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

printf(,,%6.2f,,ss|jj.score[ij);

printf("\nn);

)

fun("student.datn,n);

printf(MThedataaftermodifing:\n");

fp=fopen("student.dat",nrb");

fread(ss,sizeof(STU),N,fp);

fclose(fp);

forQ=0;j<N;j++)

printf(nNo:%ldName:%-8sScores:",

ss[j].sno,ss[j].name);

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

printf(n%6.2f',ss[j].score[i]);

printf(n\nn);

1.填空題

給定程序中,函數(shù)fun的功能是將a和b所指的兩個字符串轉(zhuǎn)換成面值相同的整數(shù),并進行

相加作為函數(shù)值返回,規(guī)定字符串中只含9個以下數(shù)字字符。

例如,主函數(shù)中輸入字符串:32486和12345,在主函數(shù)中輸出的函數(shù)值為:44831。

請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<stdio.h>

#include<string.h>

#include<ctype.h>

#defineN9

longctod(char*s)

longd=0;

while(*s)

if(isdigit(*s)){

/**********found*********不/

d=d*10+*s-O;

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

s++;}

returnd;

longfun(char*a,char*b)

returnctod(a)+ctod(b);

)

main()

(

charsl[N],s2[N];

do

(

printf(nInputstringsi:");

gets(sl);

}while(strlen(s1)>N);

do

printfC'Inputstrings2:");

gets(s2);

}while(strlen(s2)>N);

printf(nTheresultis:%ld\nM,

fun(sl,s2));

)

1.填空題

給定程序中函數(shù)fun的功能是:將a所指4X3矩陣中第k行的元素與第0行元素交換。

例如,有下列矩陣:

123

456

789

101112

若k為2,程序執(zhí)行結(jié)果為:

789

456

123

101112

請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<stdio.h>

#defineN3

voidfun(int(*a)[NJ,intk)

inti,j,temp;

/*字字*******found******¥不¥字/

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

temp=a[0][i];

/*¥¥*******fOUnd******¥孝¥¥/

a[0][i]=a[k][i];

a[k][i]=temp;

}

)

main()

(

intX[M][N]={{1,2,3},{4,5,6},{7,8,9),

(10,11.12}},i,j;

printf("ThearraybeforemovingAn");

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

for(j=0;jvN;j++)

printf("%3d",x[i][j]);

printf("\n\n");

)

fun(x,2);

printf("Thearrayaftermoving:\n\n");

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

(

for(j=0;j<N;j++)

printf("%3d",x[i][j]);

printf("\n\n");

)

)

1.填空題

給定程序中,函數(shù)fun的功能是:把形參s所指字符串中最右邊的n個字符復制到形參t所

指字符數(shù)組中,形成一個新串。若s所指字符串的長度小于n,則將整個字符串復制到形參

t所指字符數(shù)組中。

例如,形參s所指的字符串為:abcdefgh,n的值為5,程序執(zhí)行后t所指字符數(shù)組中的字符

串應(yīng)為:defgho

請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<stdio.h>

#include<string.h>

#defineN80

voidfun(char*s,intn,char*t)

(

intlen,i,j=0;

len=strlen(s);

if(n>=len)strcpy(t,s);

else

for(i=len-n;i<=len-l;i++)

/*¥¥*******fOUnd******¥孝¥¥/

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

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

tUJ='\0';

)

)

main()

(

chars[N],t[N];

intn;

printf(nEnterastring:");gets(s);

p

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論