欢迎来到天天文库
浏览记录
ID:39504302
大小:84.00 KB
页数:6页
时间:2019-07-04
《计算机二级上机试题及详解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、工作总结一、填空题:函数fun的功能是:把形参a所指数组中的最大值放在a[0]中,接着求出a所指数组中的最小值放在a[1]中;再把a所指数组元素中的次大值放在a[2]中,把a数组元素中的次小值放在a[3]中;其余以此类推。例如:若a所指数组中的数据 最初排列为:1、4、2、3、9、6、5、8、7,则按规则移动后,数据排列为:9、1、8、2、7、3、6、4、5。形参n中存放a所指数组中数据的个数。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下BLANK1.C中。
2、不得增行或删行,也不得更改程序的结构! 给定源程序: #include #defineN9 /**********found**********/ voidfun(int___1___,intn) {inti,j,max,min,px,pn,t; /**********found**********/ for(i=0;i {max=min=a[i]; px=pn=i; /**********found**********/ for(j=___3___;j<=""p=""> {if(max3、 {max=a[j];px=j;} if(min>a[j]) {min=a[j];pn=j;}6工作总结 } if(px!=i) {t=a[i];a[i]=max;a[px]=t; if(pn==i)pn=px; } if(pn!=i+1) {t=a[i+1];a[i+1]=min;a[pn]=t;} } } main() {intb[N]={1,4,2,3,9,6,5,8,7},i; printf("Theoriginaldata:"); for(i=0;i<=""?,=""printf4、(?%4d=""> fun(b,N); printf("Thedataaftermoving:"); for(i=0;i<=""?,=""printf(?%4d=""> } 解题答案: /第一空/ voidfun(int*a,intn) /第二空*/ for(i=0;i /第三空/ for(j=i+1;j<=""p="">6工作总结****************************************** 二、改错题:给定程序MODI1.C中函数fun的功能是:按顺序给s所指数组中的元素5、赋予从2开始的偶数,然后再按顺序对每五个元素求一个平均值,并将这些值依次存放在w所指的数组中。若s所指数组中元素的个数不是5的倍数,多余部分忽略不计。 例如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后的4个元素求平均值。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 给定源程序: #include #defineSIZE20 fun(double*s,double*w) {intk,i;doublesum; for(k=2,i=6、0;i {s[i]=k;k+=2;} /**********found**********/ sum=0.0; for(k=0,i=0;i {sum+=s[i]; /**********found**********/ if(i+1%5==0) {w[k]=sum/5;sum=0;k++;} } returnk; }6工作总结 main() {doublea[SIZE],b[SIZE/5]; inti,k; k=fun(a,b); printf("Theoriginald7、ata:"); for(i=0;i<=""> {if(i%5==0)printf(""); printf("%4.0f",a[i]); } printf("Theresult:"); for(i=0;i<=""printf(?%6.2f=""> } 解题答案: /**********found**********/ sum=0.0; /**********found**********/ if((i+1)%5==0) ********************************8、**********三、程序题:学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。 注意:部分源程序在文件PROG1.C
3、 {max=a[j];px=j;} if(min>a[j]) {min=a[j];pn=j;}6工作总结 } if(px!=i) {t=a[i];a[i]=max;a[px]=t; if(pn==i)pn=px; } if(pn!=i+1) {t=a[i+1];a[i+1]=min;a[pn]=t;} } } main() {intb[N]={1,4,2,3,9,6,5,8,7},i; printf("Theoriginaldata:"); for(i=0;i<=""?,=""printf
4、(?%4d=""> fun(b,N); printf("Thedataaftermoving:"); for(i=0;i<=""?,=""printf(?%4d=""> } 解题答案: /第一空/ voidfun(int*a,intn) /第二空*/ for(i=0;i /第三空/ for(j=i+1;j<=""p="">6工作总结****************************************** 二、改错题:给定程序MODI1.C中函数fun的功能是:按顺序给s所指数组中的元素
5、赋予从2开始的偶数,然后再按顺序对每五个元素求一个平均值,并将这些值依次存放在w所指的数组中。若s所指数组中元素的个数不是5的倍数,多余部分忽略不计。 例如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后的4个元素求平均值。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 给定源程序: #include #defineSIZE20 fun(double*s,double*w) {intk,i;doublesum; for(k=2,i=
6、0;i
{s[i]=k;k+=2;} /**********found**********/ sum=0.0; for(k=0,i=0;i
{sum+=s[i]; /**********found**********/ if(i+1%5==0) {w[k]=sum/5;sum=0;k++;} } returnk; }6工作总结 main() {doublea[SIZE],b[SIZE/5]; inti,k; k=fun(a,b); printf("Theoriginald
7、ata:"); for(i=0;i<=""> {if(i%5==0)printf(""); printf("%4.0f",a[i]); } printf("Theresult:"); for(i=0;i<=""printf(?%6.2f=""> } 解题答案: /**********found**********/ sum=0.0; /**********found**********/ if((i+1)%5==0) ********************************
8、**********三、程序题:学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。 注意:部分源程序在文件PROG1.C
此文档下载收益归作者所有