全国计算机等级考试二级C改错题答案

  • 格式:docx
  • 大小:68.62 KB
  • 文档页数:14

所属年份:2010.9;2011.3;2012.3

下列给定程序中,函数fun的功能是:先将字符串s中的字符按正序存放到字符串t中,然后把s中的字符按逆序连接到字符串t的后面。

例如,当s中的字符串为"ABCDE"时,则t中的字符串应为"ABCDEEDCBA"。

答案: (1)for ( i=0; i

所属年份:2012.3;

下列给定程序中,函数fun的功能是:读入一个字符串(长度<20),将该字符串中的所有字符按ASCII码值升序排序后输出。例如,若输入"edcba",则应输出"abcde"。

答案: (1)for(i=strlen(t)-1; i>0; i--) (2)if (t[j] > t[j+1])

所属年份:2010.9;2012.3

下列给定程序中函数fun的功能是:统计substr所指的子符串在str所指的字符串中出现的次数。

例如,若字符串为aaas 1kaaas,子字符串为as,则应输出2。

答案: (1)for(i=0;str[i];i++) (2)if(substr[k+1]== '\0')

所属年份:2011.9;2012.3;

下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序排列。

答案: (1)for (j = i + 1; j < 6; j++) (2)*(pstr + i) = *(pstr + j);

所属年份:2011.9;2012.3

下列给定程序中函数fun的功能是:根据整型形参m,计算如下公式的值。

例如,若m的值为5,则应输出1.。

答案: (1)for(i=2;i<=m;i++) (2)y+=1.0/(i*i);

所属年份:2010.9;2011.3;2012.3;

下列给定程序中函数fun的功能是:删除指针p所指字符串中的所有空白字符(包括制表符、回车符及换行符)。

输入字符串时用'#'结束输入。

答案: (1)for(i=0,t=0;p[i];i++) (2)c[t]= '\0';

所属年份:2011.3;2011.9;

下列给定程序中,函数fun的功能是:根据整型参数m,计算如下公式的值。

y=1/(100×100)+1/(200×200)+1/(300×300)+…+1/(m×m)

例如,若m=2000,则应输出0.。

答案: (1)double fun(int m) (2)for(i=100;i<=m;i+=100)

所属年份:2012.3

下列给定程序中,函数fun的功能是:根据整形参m的值,计算如下公式的值。

例如,若m中的值为5,则应输出0.。

答案: (1)for(i = 2 ; i<= m ; i++) (2)y -= 1.0/(i * i);

所属年份:2010.9;2011.3;

下列给定程序中函数fun的功能是:求三个数的最小公倍数。 11111223344ymm……11112233tmm例如,若给主函数中的变量x1、x2、x3分别输入15 11 2,则输出结果应当是330。

答案: (1)fun(int x,int y, int z) (2)return j;

所属年份:2011.3

下列给定程序中函数fun的功能是:从N个字符串中找出最长的串,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。

答案: (1)char *fun(char (*sq)[M]) (2)return sp;

所属年份:2011.3

下列给定程序中函数fun的功能是:根据以下公式求π值,并作为函数值返回。

例如,当给指定精度的变量eps输入0.0005时,应输出Pi=3.。

π/2=1+1/3+1/3×2/5+1/3×2/5×3/7+1/3×2/5×3/7×4/9+……

答案: (1)t=1.0; (2)return(s*2);

所属年份:2011.3;2011.9

下列给定程序中,函数fun的功能是:计算整数n的阶乘。

答案: (1)result*=n--; (2)return result;

所属年份:2011.3

下列给定程序中,函数fun的功能是:根据输入的三个边长(整型值),判断能否构成三角形。若能构成等边三角形,则返回3;若是等腰三角形,则返回2;若能构成三角形则返回1;若不能,则返回0。

答案: (1)return 3; (2)return 1;

所属年份:2010.9;2011.3;2011.9;

下列给定程序中,函数fun的功能是:传入一个整数m,计算如下公式的值。

t=1/2-1/3-…-1/m

例如,若输入5,则应输出-0.。

答案: (1)t-=1.0/i; (2)return t;

所属年份:2012.3;

下列给定程序中,函数fun的功能是:求S的值。

S=(22/(1×3))×(42/(3×5))×(62/(5×7))×…×(2k)2/((2k-1)×(2k+1))

例如,当k为10时,函数的值应为1.。

答案: (1)double fun(int k) (2)return s ;

所属年份:2012.3;

已知一个数列从0项开始的前3项:0、0、1,以后的各项都是其相邻的前3项之和。下列给定的程序中,函数fun的功能是:计算并输出该数列前n项的平方根之和sum。n的值通过形参传入。

例如,当n=10时,程序的输出结果应为23.。

答案: (1)double fun(int n) (2)return sum ;

所属年份:2012.3;

下列给定程序中函数fun的功能是:将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。

例如,当s中的数为时,t中的数为7531。

答案: (1)*t=0; (2)if(d%2!=0)

所属年份:2010.9;2011.3;2012.3

下列给定程序中函数fun的功能是:计算正整数num各位上的数字之积。

例如,若输入252,则输出应该是20。若输入202,则输出应该是0。

答案: (1)long k=1; (2)num /=10;

所属年份:2010.9;2011.9;

下列给定程序中函数fun的功能是:把从主函数中输入的3个数,最大的数放在a中,中间的数放在b中,最小的数放在c中。

例如,若输入的数为:55 12 34,输出的结果应当是:a=55.0,b=34.0,c=12.0。

答案:(1)float k; (2)if(*a< *c)

所属年份:2011.3

下列给定程序中函数fun的功能是:逐个比较p、q所指两个字符串对应位置上的字符,并把ASCII值大或相等的字符依次存放到c所指的数组中,形成一个新的字符串。

例如,若主函数中a字符串为"aBCDeFgH",b字符串为"Abcd",则c中的字符串应为"aBcdeFgH"。

答案: (1) int k=0; (2)while (*p||*q)

所属年份:2011.9;2012.3

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

例如:数组中元素中的值依次为:39,-47,21,2,-8,15,0,则程序的运行结果为19.。

答案:(1)double sum=0.0; (2)sum/=c;

所属年份:2011.9

下列给定程序中函数fun和funx的功能是:用二分法求方程的一个根,并要求绝对误差不超过0.001。

例如,若给m输入-100,n输入90,则函数求得的一个根为2.000。

答案:(1)double r ; (2)while (fabs(n-m) >0.001)

所属年份:2010.9;2012.3;

下列给定程序中函数fun的功能是:先将s所指字符串中的字符按逆序存放到t所指字符串中,然后把s所指串中的字符按正序连接到t所指串之后。

例如:当s所指的字符串为"ABCDE"时,t所指的字符串应为"EDCBAABCDE"。

答案:(1)int i, sl; (2)t[i]=s[sl-i-1];

所属年份:2011.3;

数列中,第一项为3,后一项都比前一项的值增5。下列给定程序中,函数fun的功能是:计算前n(4≤n≤50)项的累计和。在累加过程中把那些被4除后余2的当前累加值放入数组中,符合此条件的累加值的个数作为函数值返回。

例如,当n的值为20时,该数列为3、8、13、18、23、28、…、93、98,符合此条件的累加值应为42、126、366、570、1010。

答案: (1)int i,j=0,k,sum; (2)if(sum%4==2)

所属年份:2011.3

下列给定的程序中,函数fun的功能是:为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个素数通过形参指针传回主函数。

答案: (1)y=1; (2)d=a-i; 3224360xxx

所属年份:2011.3;2011.9

下列给定程序中,函数fun的功能是:先从键盘上输入一个3行、3列的矩阵的各个元素的值,然后输出主对角线元素之和。

答案: (1)sum=0; (2)scanf("%d",&a[i][j]);

所属年份:2011.3;2011.9;

给定程序MODI1.C中规定输入的字符串全部为字母,fun函数的功能是:统计a所指字符串中每个字母在字符串中出现的次数(统计时不区分大小写),并将出现次数最高的字母输出(如果有多个相同,输出一个即可)。

例如对于字符串:dadbcdbabdb,对应的输出应为:b或d。

答案: (1)b[i] = 0; (2)b[a[i] - 'a']++; (3)if (b[max] < b[i])

所属年份:2011.3;2012.3

下列给定程序中fun函数功能是:将n个无序整数从小到大排序。

答案: (1)for(i=j+1;i

所属年份:2011.9;2012.3

下列给定程序中函数fun的功能是:计算并输出下列级数的前N项和SN,直到SN+1的值大于q为止,q的值通过形参传入。

例如,若q的值为50.0,则函数值应为49.。

答案:(1)s=s +(double)(n+1)/n; (2)return t;

所属年份:2011.3;2011.9

下列给定函数中,函数fun的功能是:统计字符串中各元音字母(即A、E、I、O、U)的个数。注意:字母不分大小写。

例如,输入"THIs is a boot",则应输出是1 0 2 2 0。

答案: (1)void fun(char *s, int num[5]) (2)num[k]=0; (3)switch(*s)

所属年份:2012.3;

下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。

答案: (1)while (p!=NULL) (2)p=p->next;