2017年全国计算机等级考试二级C语言上机题库 联系客服

发布时间 : 星期四 文章2017年全国计算机等级考试二级C语言上机题库更新完毕开始阅读178d0a8b250c844769eae009581b6bd97e19bc10

第3处if(min>a[j]) 2 程序修改

给定程序MODI1.C中函数fun的功能是:用递归算法计算列中第n项的值。从第一项起,斐波拉契数列为:1、1、2、3、5、8、13、21、 ?? /**found**/ switch(g) /**found**/ case 1:return 1; case 2:return 1; 3 程序设计

某学生的记录由学号、8门课程和平均分组成,学号和8门课程成绩已在主函数中给出。请编写函数fun,它的功能是;求出该学生的平均分放在记录的ave成员中。 void fun(STREC *a) { int i;

for(i=0;i

a->ave=a->ave+a->s[i]; a->ave/=N }

第六十套 1 程序填空

给定程序中,函数fun的功能是:有N×N矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素来。

第1处 void fun (int) (*t)[N] 第2处 t[i][j]=t[i][j]+t[j][i]; 第3处 t[j][i]=0; 2程序修改

给定程序MODI1.C中函数fun的功能是:计算函数值,F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)其中x和y的值不等,z和y的值不等。例如,当x的值为9、y的值为11、z的值为15时,函数值为-3.50。 /**found**/

#define FU(m,n) ((m)/(n))

/**found**/ return (value); }

3程序设计

规定输入的字符串中只包含字母和*号。请编写函数fun ,它的功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。 void fun (char *a) {

int j=0;

char *p=a;

while (*p=='*')p++; while (*p){ a[j++]=*p; p++; }

a[j]=0; }

第六十一套 1 程序填空

人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中。函数fun的功能是:找出指定出生年份的人员,将其数据放在形参k所指出的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。

第1处if (std[i].year==year) 第2处 k[n++]=std[i]; 第3处 return (n); 2 程序修改

给定程序MODI1.C中函数fun的功能是:读入一个整数k(2≤k≤10000)打印它的所有质因子(即所有为素数的因子)。 /**found**/ IsPrime (int n) /**found**/ if (!(n%i)) 3 程序设计

已知学生的记录由学号和学习成绩构成,N名学生的数据已存入结构体数组a中。请编写给函数fun,函数的功能是:找出成绩最高的学生的记录,通过形参指针传回主函数(规定只有一个最高分),已给出函数的首部,请完成函数。

fun(STU a[],STU *s) {

int i, max = a[0]. s, j=0; for (i=1; i

max =a[i].s; }

*s=a[j]; }

第六十二套 1程序填空

给定程序中,函数fun的功能是:将N×N矩

阵主对角线元素中的值与反向对角线对应位置上元素中的值进行交换。例如:若N=3有下列矩阵: 1 2 3 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

a[j++]=*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所指字符串中的小写字母都改为对应的大写字母,其他字符不变。 /**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程序填空

给定程序中,函数fun的功能是:计算下式前

5项的和作为函数值返回。S=1×3/22

-3×5/42+5×7/62-??+(-1)n-1

(2×n-1)×(2×

n+1)/(2×n)2

例如,当形参n的值为10时,函数返回:-0.204491。 第1处 k=1; 第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

第六十六套 1程序填空

给定程序中,函数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为一正整数)的整数,然后输出:符合条件的整数个数作为函数值返回。 第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

第六十八套 1 程序填空 给定程序中,函数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;

第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++){