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

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

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) 第2处 for (i=0; i

给定程序modi1.c中函数fun函数功能是:按

顺序给s所指数组中元素赋予从2开始的偶数,然后再按顺序对每五个元素求平均值,并将这些值依次存放在w所指的数组中,若s所指数组中元素个数不是5的倍数,多余部分忽略不计。 /**found**/ sum=0.0; /**found**/ if ((i+1)%5==0) 3 程序编写

学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,低于平均分的学生人数通过形参n传回。平均分通过函数值返回。

double fun (STREC *a, STREC *b, int *n) {

int i;

double ave=0. 0; *n=0;

for (i=0; i

for( i=0 ; i

return ave; }

第七十二套 1 程序填空 给定程序中,函数fun的功能是:统计所有<=n(n>2)的素数的个数,素数的个数作为函数值返回。

第1处 for ( j=2; j=i) 2 程序修改

数列中,第一项值为3,后一项都比前一项的增5;给定程序modi1.c中函数fun函数功能是:计算前n(4

/**found**/

if (sum %4==2) 3 程序设计

请编写一个函数fun,它的功能是:计算并输出下列多项式的值:??例如,在主函数中从键盘给n输入8后,输出为s=0.662872。注意:要求n的值大于1但不大于10.

double fun (int n) {

int i ;

double sum=0.0; if (n>1&&n<=100) { for ( i=1 ; i<=n; i++) sum +=1. 0/(2*i - 1)- 1. 0/(2* i);

}

return sum; }

第七十三套

1 程序填空

给定程序中,函数fun的功能是:f(x)=1+x+x2/+?+xn/n!直到|x/n!|<10-6,若x=2.5,函数值为:12.182494。

第1处 f=1. 0+x ; 第2处 t*=x/n 第3处 f+=t ; 2 程序修改

给定程序MODI1.C中fun函数的功能是:计算n的5次方的值(规定n的值大于2 小于8),通过形参指针传向主函数,并计算该值的个位、十位、百位上的数字之和作为函数值返回。 /**found**/ d=1 ; s=0 ; /**found**/

d=d/10 ; 3 程序设计

请编写一个函数fun,它的功能是:计算并输出给定数组(长度为9)中每相邻两个元素之平均值的平方根之和。 double fun (double x[9]) {

int i ;

double avg=0. 0, sum=0. 0 ; for (i=0 ; i<8 ; i++){ avg =( x [i] + x [i+1])/2; sum += sqrt ( avg); }

rturn sum ; } 第七十四套 1 程序填空

给定程序中,函数fun的功能是:计算f(x)=1+x+x2/+?+xn/n!的前n项。若x=2.5,函

数值为:12.182340。

第1 处 t=1 ;

第2 处 for (i=1 ;i

给定程序MODI1.C中fun函数的功能是:找出100至n(n不大于1000)之间三位数字相等的所有整数,把这些整数放在s所指数组中,个数作为函数值返回。

/**found**/ k= i ; /**found**/ c=k; 3 程序设计

请编写一个函数fun,它的功能是:计算并输出给定10个数的方差:例如,给定的10个数为95.0、89.0、76.0、65.0、88.0、72.0、85.0、81.0、90.0、56.0、1输出为s=11.730729. double fun (double x [10]) { Int i;

double avg =0. 0, sum =0. 0, abs =0. 0, fc; for (i=0; i<10; i ++) sum +=x[ i ]; avg =sum/10;

for (i=0; i<10; i++)

abs +=(x[i]- avg)*(x [i ] -avg ); fc =sqrt (abs/10); return fc ; } 第七十五套 1 程序填空

给定程序中已经建立一个带有头结点的单项链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。 第1处 t=t- >next;

第2处 printf (\第3处 free (t); 2 程序修改

给定程序MODI1.C中fun函数的功能是:将字符串中的字符按逆序输出,但不改变字符串中的内容。 /**found**/ fun (char *a ) /**found**/

printf ( \3 程序设计

编写一个函数fun,它的功能是:比较两

个字符串的长度(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。

char *fun (char *s, char *t) { int i ;

char *p =s ,*q=t;

for (i=0; *p&&*q ; i++){ p++ ; q++; }

if (*p==0&&*q==0) return s;

if (*p) return s; else return t; }

第七十六套 1 程序填空

在给定程序中,函数fun的功能是在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处理。 第1处for (i=0; s[ i ]!='\\0' ;i++) 第2处 n=0;

第3处 s[j+1] =c ; 2 程序修改

在主函数中键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。给定程序MODI1.C中函数fun的功能是:计算数组元素中值为正数的平均值(不包括零) /**found**/

double sum =0. 0; /**found**/ sum/=c; 3 程序设计

编写程序fun,它的功能是:根据以下分工计算s,计算结果作为函数值返回:n通过形参传入。

float fun (int n)

{

int i, j, t; float s=0;

for(i=1; i<=n;i++){ t=0;

for (j=1; j<=i; j++) t+=j;

s=s+1. 0/t; }

return s; }

第七十七套 1 程序填空

给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。如输入一个数:27638496,新的数为729 第1处 { t=*n ; 第2处 if (t %2!=0) 第3处 *n=x ; 2 程序修改

给定程序modi1.c中函数fun函数功能是:计算n!。例如,给n输入5,则输出120.000000。 /**found**/ if (n==0) /**found**/ result *=n--; 3 程序设计

请编写一个函数fun,它的功能是:将一个数字字符转换为一个整数(不得调用C语言提供的将字符转换为整数的函数)。例如,若输入字符串“-1234”,则函数将它转换为整数值-1234.

long fun (char *p) {

int i, len , t; long x=0;

len =strlen (p); if (p[0]== ' - ')

{ t= - 1; len--;p++;} else t=1; While (*p)

x =x*10 - 48 +(*p++); return x*t; }

第七十八套 1 给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到的文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。请在程序的下划线处填入正确的内容分并把下划线删除,使得程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。 第1处 FILE * fp;

第2处 while (!feof (fp)) {

第3处 putchar (ch) ; ch= fgetc (fp); } 2 程序修改

给点那个程序MODI1.C中函数fun的功能是:

依次取出字符串中所有的数字字符,形成新的字符串,并取代原字符串。 /**found**/

s [j++]=s [ i ]; /**found**/ s [ j ]= ' \\ 0 ' ; 3 程序设计题

请编写函数fun,函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。

void fun (char s[] [N] , char *b) {

int i, j, n=0;

for (i=0; i

/*请填写其相应语句完成其功能*/ {

for ( j=0 ; j

b [n] = ' \\0 ' ; }

第七十九套 1 程序填空 给定程序中,函数fun的功能是将带头结点的单项链表结点数据域中的数据从小到大排序,即若原链表节点数据域从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确结果。 第1处 p = h - >next ; 第2处 q= p - > next;

第3处 if (p - > data >=q - >data)) 2 程序修改

给定程序MODI1.C是建立一个带头结点的单项链表,并用随机函数为各节点数据赋值。函数fun的作用是求出单项链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。请改正函数fun中所指部位的错误,使它能得出正确结果。 /**found**/ p= h - >next; /**found**/ p=p->next; 3 程序设计

请编写函数fun,函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到

一维数组中。一维数组中数据的个数存在形参

n所指的存储单元中。

void fun ( int (*s) [10] , int *b, int *n, int mm, int nn) {

int i, j, k ;

for (i=0 ; i

k=i *nn +j ; b [k] =s [ i ] [j ]; }

*n= mm*nn; }

第八十套 1 程序填空 给定程序中,函数fun的功能是用函数指针指向要调用的函数,并进行调用。在规定的2处使f指向函数f1,在 3 处使f指向函数f2.当调用正确时,程序输出:x1=5.000000,x2=3.000000,x1*x1+x1*x2=40.000000 请在程序下划线处填入正确的内容并把下划线删除,使程序得出正确结果。 第1处 double ( *f ) () ; 第2处 f = f 1; 第3处 f = f 2; 2 程序修改

给定程序MODI1.C是建立一个带头点的单向链表,并用随机函数为各结点赋值。函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。 /**found**/

p= h - >next;

/**found**/ p= p - >next; 3 程序设计

请编写函数fun,函数的功能是:判断字符串是否为回文?是,函数返回1,主函数中输出:YES,否则返回0,主函数中输出NO。回文是指顺读t和倒都都一样的字符串。 int fun ( char * str) {

int i , j= strlen (str) ; for ( i=0 ; i < j /2 ; i++)

if (str [ i ] ! = str [j- i - 1]) return 0 ; return 1 ;