计算机二级考试C语言 101~105套上机题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第101套
1、程序填空
给定程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。
例如,有9个正整数:1 5 7 23 87 5 8 21 45,按升序排列时的中间数为:8
处理后主函数中输出的数列为:8 8 8 23 87 8 8 21 45
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。得增行或删行,也不得更改程序的结构!
#include
#define N 9
int fun(int x[])
{ int i,j,k,t,mid,b[N];
for(i=0;i for(i=0;i<=N/2;i++) { k=i; for(j=i+1;j if(k != i ) { /**********found**********/ t=b[i]; b[i]=___1___; b[k]=t; } } /**********found**********/ mid=b[___2___]; for(i=0; i /**********found**********/ if(x[i] ___3___ mid) x[i]=mid; return mid; } main() { int i, x[N]={1,5,7,23,87,5,8,21,45}; for(i=0; i printf("\nThe mid data is: %d\n",fun(x)); for(i=0; i printf("\n"); } 2、程序改错 给定程序MODI1.C中,fun函数的功能是:删除b所指数组中小于10的数据。主函数中输出删除后数组中余下的数据。 #include #include #define N 20 int fun( int *b ) { /**********found**********/ int t[N] ,i, num for(i=0; i if(b[i]>=10) /**********found**********/ t[++num]=b[i]; /**********found**********/ for(i=0; i b[i]=t[i]; return( num ); } main() { int a[N],i,num; printf("a数组中的数据:\n"); for(i=0;i printf("\n"); num=fun(a); for(i=0;i printf("\n"); } 3、程序设计 请编写函数fun,其功能是:统计s所指字符串中的数字字符个数,并作为函数值返回。例如,s所指字符串中的内容是:2def35adh25 3kjsdf 7/kj8655x, 函数fun返回值为:11 #include void NONO(); int fun(char *s) { } main() { char *s="2def35adh25 3kjsdf 7/kj8655x"; printf("%s\n",s); printf("%d\n",fun(s)); NONO(); } void NONO() {/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/ FILE *fp, *wf ; int i; char s[256]; fp = fopen("in.dat","r") ; wf = fopen("out.dat","w") ; for(i = 0 ; i < 10 ; i++) { fgets(s, 255, fp); fprintf(wf, "%d\n", fun(s)); } fclose(fp) ; fclose(wf) ; } 第102套题 1、程序填空 函数fun的功能是:输出a所指数组中的前n个数据,要求每行输出5个数。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 #include #include void fun( int *a, int n ) { int i; for(i=0; i { /**********found**********/ if( ___1___==0 ) /**********found**********/ printf("___2___"); /**********found**********/ printf("%d ",___3___); } } main() { int a[100]={0}, i,n; n=22; for(i=0; i fun( a, n); printf("\n"); } 2、程序改错 给定程序MODI1.C中,fun函数的功能是:在任意给定的N个正整数中,从左到右依次逐个取三个数作为一组,按值大小找出该组数的中值,用该中值替换与该组数对应的原三个数中的中间位置的数。处理后原数列中首尾2个数不变。处理后数列在主函数中输出。例如,有10个正整数如下: 初始数列为:6 5 7 23 18 5 8 21 45 38 第1组数为:6 5 7 中值为:6 替换后的数列为:6 6 7 23 18 5 8 21 45 38 第2组数为:5 7 23 中值为:7 替换后的数列为:6 6 7 23 18 5 8 21 45 38 第3组数为:7 23 18 中值为:18 替换后的数列为:6 6 7 18 18 5 8 21 45 38 第4组数为:23 18 5 中值为:18 替换后的数列为:6 6 7 18 18 5 8 21 45 38