2011年9月全国计算机等级考试二级C语言上机题库(全)
4 5 6 7 8 9 交换后: 3 2 1 4 5 6
9 8 7
第1处 void fun (int t [] [N], int n) 第2处 for (i=0; i 由N个有序整数组成的数列已放在一维数组中,给定程序MODI1.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1.折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(low﹤high),然后把m的值大于中间位置元素中的值,则下一次的查找范围落在中间位置之前的元素中。直到low﹥high,查找结束。 /**found**/ fun (int a [], int m) /**found**/ else if (m>a [mid]) 3 程序设计 假定输入的字符串中只包含字母和*号,请编写函数fun,它的的功能是:除了尾部的*号之外,将字符串中其他*全部删除。形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。 void fun (char *a,char *p) { char *q=a; int j=0; while (*q&&q while (*p) a [j++] = *p++; a [j]=0; } 第六十三套 1 程序填空 给定程序中,函数fun的功能是;求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。Ss所指字符串数组中共M个字符串,且串长﹤N。 第1处 for (i=0;i 给定程序MODI1.C中函数fun的功能是:将tt所指字符串中的小写字母都改为对应的大写字母,其他字符不变。 31 2011年9月全国计算机等级考试二级C语言上机题库(全) /**found**/ if (( ' a ' <=tt[i])&&(tt[i] <= ' z ' )) /**found**/ tt[ i ]- =32; 3程序设计 请编写函数fun,函数的功能是:将所有大于1小于整数 m的非素数存入xx所知数组中,非素数的个数通过k传回。 void fun (int m, int *k, int xx[]) { int i , cnt=0; for (i=0; i if (isP(i)) xx [cnt++]=i; *k=cnt; } 第六十四套 1 程序填空 给定程序中,函数fun的功能是:对形参ss所指字符串数组中的M个字符串按长度由短到长进行排序。Ss所指字符串数组中共有M个字符,且串长﹤N。 第1处 for (j=i+1; j 第3处 strcpy (ss[k], t); 2 程序修改 给定程序MODI1.C中函数fun的功能是:判断ch中的字符是否与str所指串中的某个字符相同:若相同,什么也不做,则将其插在串的最后。 2 /**found**/ if (*str! =ch) /**found**/ str [1]=0; 3 程序设计 请编写一个函数fun(chae*s),函数的功能是把s所指的字符串中的内容逆置。 fun (char *s) { char b[N]; int i=0, j; meset (b,0,N); for (j=strlen(s)-1; j>=0; j--) b [i++]=s[j]; strcpy (s,b); } 第六十五套 1程序填空 222n-1 给定程序中,函数fun的功能是:计算下式前5项的和作为函数值返回。S=1×3/2-3×5/4+5×7/6-??+(-1)(2 2 ×n-1)×(2×n+1)/(2×n)例如,当形参n的值为10时,函数返回:-0.204491。 第1处 k=1; 32 2011年9月全国计算机等级考试二级C语言上机题库(全) 第2处 t=2*j; 第3处 k=k*(-1); 2 程序修改 给定程序MODI1.C中函数fun的功能是:判断一个整数是否是素数,若是返回1,否则返回0. /**found**/ K++; /**found**/ if (m==k) 3 程序设计 请编写一个函授fun,它的功能是:找出一维整数组元素中最大的值和他所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x 是数组名,n是x中的数据个数,max存放在大值,index存放最大值所在元素的下标。 void fun (int a[], int n, int *max, int *d) { int i; *max=a[0];*d=0; for (i=1; i 给定程序中,函数fun的功能是:在形参s所知字符串中的每个数字字符之后插入一个*号。 第1处 if (s[ i ]>=' 0' &&s [ i ]<=' 9') 第2处 while (s[i+1+n]! =0)n++; 第3处 s[j+1]=s [j]; 2 程序修改 给定程序MODI1.C中函数fun的功能是:根据整形形参m=1,计算如下公式的值。 m=1+1/2*2+1/3*3+1/4*4?1/m*m 例如,若m中的值为5,则应输出1.463611 2 /**found**/ for (i =2 ; i<= m; i++) /**found**/ y+=1. 0/ ( i* i) ; 3 程序设计 编写函数fun,函数的功能是:实现B=A+A?即把矩阵A加上A的转置,存放在矩阵B中。计算结果在main函数中输出。 void fun ( int a [3] [3], int b [3] [3]) { Int c [3] [3]; int i,j; for (i=0;i<3;i++) for (j=0; j<3; j++) { c [i][j]=a [j] [i] ; b [i] [j]=a[i] [j] +c [i] [j] ; } } 第六十七套 1 程序填空 给定程序中,函数fun的功能是:找出100~999之间(含100和999)所有整数中个位上数字之和为x(x为一正整数) 33 2011年9月全国计算机等级考试二级C语言上机题库(全) 的整数,然后输出:符合条件的整数个数作为函数值返回。 第1处 while (t<=999) 第2处 s1=t; s2=(t/10);s3=t/100; 第3处 if (s1+s2+s3==x) 2 程序修改 给定程序MODI1.C中函数fun的功能是:低位开始取出长整形变量s中偶数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。 /**found**/ void fun (long s, long *t) /**found**/ while (s>0) 3程序设计 学生的记录由学号和学生成家组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是;按分数的高低排列学生的记录,高分在前。 int fun (STREC a[]) { STREC tmp; int i,j; for (i=0;i 给定程序中,函数fun的功能是:将形参n中,个位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数。并作为函数值返回。 1 第1处 if (t%2==0) 第2处 x=10*x+t; 第3处 n=n/10; 2 程序修改 给定程序MODI1.C中函数fun的功能是:将长整数中每一位上为奇数的数依次取出,构成一个心数放在t中。高位仍在高位,低位仍在低位。 /**found**/ *t=0; /**found**/ if (d%2!=0) 3 程序设计 编写一个函数fun,它的功能是:实现两个字符串的连续(不使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。 void fun (char p[], char p2[]) { char *p=p1; while (*p)p++; while (*p2)*p++=*p2++; *p=0; } 第六十九套 1 程序填空 甲乙丙丁四人同时开始放鞭炮,甲每隔t1秒放一个,乙每隔t2秒放一个,丙每隔t3秒放一个,丁每隔t4秒放一个,每人各放n次。函数fun的功能是通过形参提供的信息,求出总共听到多少次鞭炮声作为函数值返回。注意,当几个鞭炮同时炸响,只算一声响声,第一声响是在第0秒。 1 第1处 max t =t1; 34 2011年9月全国计算机等级考试二级C语言上机题库(全) 第2处 for (t=1; t< max t*(n-1); t++) 第3处 return count; 2 程序修改 给定程序MODI1.C中函数fun的功能是:根据输入的三个边长(整值型),判断能否构成三角形,还是等腰三角形。若能够构成等边三角形函数返回3,若能构成等腰三角形,函数返回2,若构成一般三角形,则函数返回1,若不能构成三角形,则函数返回0. /**found**/ int fun (int a,int b, int c) /**found**/ else return 1; 3 程序设计 编写一个函数fun,它的功能是:计算并输出3到n之间(含3和n)所有素数平方根之和。 double fun (int n) { int i, j=0; double s=0; for (i=3;i<=n; i++){ for (j=2; j s =s+sqrt ( i ); } return s; } 第七十套 1 程序填空 给定程序中,函数fun的功能是:统计长整数n的各个位数上出现数1、2、3的次数,并通过外部(全局)变量c1、c2、c3返回主函数。 第1处 switch (n) 第2处 case 1: c1++; break; 第3处 case 2: c2++; break; 2 程序修改 给定程序modi1.c中函数fun函数功能是:统计一个无符号整数中各位数字值为零的个数,通过形参传回主函数并把该整数中各位上最大的数字值作为函数值返回。 /**found**/ if (t==0) /**found**/ *zero =count; 3 程序设计 请编写一个函数fun,它的功能是:计算并输出下列多项式的值: double fun (int n) { double s=0, t=1; int i ; for ( i=1; i<=n;i++) { t*=1; s+=1. 0/t; } return s; } 第七十一套 1 程序填空 给定程序中,函数fun的功能是:反形参a所指数组中的最大值放在a[0]中,接着求出a所指数组中的最小值放在a[1]中;再把a所指数组元素中的次大值放在a[2]中,吧a组元素中的次小值放在a[3]中,依此类推。 第1处 void fun (int *a, int n) 35