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

上传人:b****5 文档编号:12219156 上传时间:2023-04-17 格式:DOCX 页数:8 大小:16.04KB
下载 相关 举报
计算机二级C语言上机题及答案汇总九.docx_第1页
第1页 / 共8页
计算机二级C语言上机题及答案汇总九.docx_第2页
第2页 / 共8页
计算机二级C语言上机题及答案汇总九.docx_第3页
第3页 / 共8页
计算机二级C语言上机题及答案汇总九.docx_第4页
第4页 / 共8页
计算机二级C语言上机题及答案汇总九.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

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

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

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

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

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

在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处理。

例如,s所指字符串为:

baacda,c中的字符为:

a,

执行后s所指字符串为:

baaaacdaa。

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

注意:

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

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

#include

voidfun(char*s,charc)

{inti,j,n;

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

for(i=0;s[i]!

=___1___;i++)

if(s[i]==c)

{

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

n=___2___;

while(s[i+1+n]!

=’\0’)n++;

for(j=i+n+1;j>i;j--)s[j+1]=s[j];

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

s[j+1]=___3___;

i=i+1;

}

}

main()

{chars[80]="baacda",c;

printf("Thestring:

%s",s);

printf("Inputacharacter:

");scanf("%c",&c);

fun(s,c);

printf("Theresultis:

%s",s);

}

42、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。

所有学生数据均以二进制方式输出到文件中。

函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其它学生的数据不变。

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

注意:

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

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

#include

#defineN5

typedefstructstudent{

longsno;

charname[10];

floatscore[3];

}STU;

voidfun(char*filename,STUn)

{FILE*fp;

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

fp=fopen(__1__,"rb+");

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

fseek(__2__,-(long)sizeof(STU),SEEK_END);

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

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

fclose(fp);

}

main()

{STUt[N]={{10001,"MaChao",91,92,77},{10002,"CaoKai",75,60,88},

{10003,"LiSi",85,70,78},{10004,"FangFang",90,82,87},

{10005,"ZhangSan",95,80,88}};

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

inti,j;FILE*fp;

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

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

fclose(fp);

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

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

fclose(fp);

printf("Theoriginaldata:

");

for(j=0;j  {printf("No:

%ldName:

%-8sScores:

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

for(i=0;i<3;i++)printf("%6.2f",ss[j].score[i]);

printf("");

}

fun("student.dat",n);

printf("Thedataaftermodifing:

");

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

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

fclose(fp);

for(j=0;j  {printf("No:

%ldName:

%-8sScores:

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

for(i=0;i<3;i++)printf("%6.2f",ss[j].score[i]);

printf("");

}

}

43、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。

所有学生数据均以二进制方式输出到文件中。

函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。

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

注意:

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

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

#include

#defineN5

typedefstructstudent{

longsno;

charname[10];

floatscore[3];

}STU;

voidfun(char*filename)

{FILE*fp;inti,j;

STUs[N],t;

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

fp=fopen(filename,__1__);

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

fclose(fp);

for(i=0;i  for(j=i+1;j  /**********found**********/

if(s[i].sno__2__s[j].sno)

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

fp=fopen(filename,"wb");

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

__3__(s,sizeof(STU),N,fp);/*二进制输出*/

fclose(fp);

}

main()

{STUt[N]={{10005,"ZhangSan",95,80,88},{10003,"LiSi",85,70,78},

{10002,"CaoKai",75,60,88},{10004,"FangFang",90,82,87},

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

inti,j;FILE*fp;

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

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

fclose(fp);

printf("Theoriginaldata:

");

for(j=0;j  {printf("No:

%ldName:

%-8sScores:

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

for(i=0;i<3;i++)printf("%6.2f",t[j].score[i]);

printf("");

}

fun("student.dat");

printf("Thedataaftersorting:

");

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

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

fclose(fp);

for(j=0;j  {printf("No:

%ldName:

%-8sScores:

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

for(i=0;i<3;i++)printf("%6.2f",ss[j].score[i]);

printf("");

}

}

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

将形参指针所指结构体数组中的三个元素按num成员进行升序排列。

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

注意:

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

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

#include

typedefstruct

{intnum;

charname[10];

}PERSON;

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

voidfun(PERSON___1___)

{

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

___2___temp;

if(std[0].num>std[1].num)

{temp=std[0];std[0]=std[1];std[1]=temp;}

if(std[0].num>std[2].num)

{temp=std[0];std[0]=std[2];std[2]=temp;}

if(std[1].num>std[2].num)

{temp=std[1];std[1]=std[2];std[2]=temp;}

}

main()

{PERSONstd[]={5,"Zhanghu",2,"WangLi",6,"LinMin"};

inti;

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

fun(___3___);

printf("Theresultis:

");

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

printf("%d,%s",std[i].num,std[i].name);

}

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

计算x所指数组中N个数的平均值(规定所有数均为正数),平均值通过形参返回主函数,将小于平均值且最接近平均值的数作为函数值返回,在主函数中输出。

例如,有10个正数:

4630324061745154826,平均值为:

30.500000

主函数中输出:

m=30

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

注意:

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

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

#include

#include

#defineN10

doublefun(doublex[],double*av)

{inti,j;doubled,s;

s=0;

for(i=0;i  /**********found**********/

__1__=s/N;

d=32767;

for(i=0;i  if(x[i]<*av&&*av-x[i]<=d){

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

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

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

return__3__;

}

main()

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

doubleav,m;

for(i=0;i  printf("");

m=fun(x,&av);

printf("Theaverageis:

%f",av);

printf("m=%5.0f",m);

printf("");

}

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

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1