计算机二级C语言上机题及答案汇总九.docx
- 文档编号:12219156
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:8
- 大小:16.04KB
计算机二级C语言上机题及答案汇总九.docx
《计算机二级C语言上机题及答案汇总九.docx》由会员分享,可在线阅读,更多相关《计算机二级C语言上机题及答案汇总九.docx(8页珍藏版)》请在冰豆网上搜索。
计算机二级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("");
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 语言 上机 答案 汇总