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

上传人:b****7 文档编号:9567541 上传时间:2023-02-05 格式:DOCX 页数:24 大小:74.69KB
下载 相关 举报
全国计算机等级考试二级C改错题答案.docx_第1页
第1页 / 共24页
全国计算机等级考试二级C改错题答案.docx_第2页
第2页 / 共24页
全国计算机等级考试二级C改错题答案.docx_第3页
第3页 / 共24页
全国计算机等级考试二级C改错题答案.docx_第4页
第4页 / 共24页
全国计算机等级考试二级C改错题答案.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

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

《全国计算机等级考试二级C改错题答案.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C改错题答案.docx(24页珍藏版)》请在冰豆网上搜索。

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

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

所属年份:

2010.9;2011.3;2012.3

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

先将字符串s中的字符按正序存放到字符串t中,然后把s中的字符按逆序连接到字符串t的后面。

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

答案:

(1)for(i=0;i

(2)t[2*s1]='\0'

所属年份:

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所指的字符串中出现的次数。

例如,若字符串为aaas1kaaas,子字符串为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.463611。

答案:

(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.000160。

答案:

(1)doublefun(intm)

(2)for(i=100;i<=m;i+=100)

所属年份:

2012.3

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

根据整形参m的值,计算如下公式的值。

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

答案:

(1)for(i=2;i<=m;i++)

(2)y-=1.0/(i*i);

所属年份:

2010.9;2011.3;

下列给定程序中函数fun的功能是:

求三个数的最小公倍数。

例如,若给主函数中的变量x1、x2、x3分别输入15 11 2,则输出结果应当是330。

答案:

(1)fun(intx,inty,intz)

(2)returnj;

所属年份:

2011.3

下列给定程序中函数fun的功能是:

从N个字符串中找出最长的串,并将其地址作为函数值返回。

各字符串在主函数中输入,并放入一个字符串数组中。

答案:

(1)char*fun(char(*sq)[M])

(2)returnsp;

所属年份:

2011.3

下列给定程序中函数fun的功能是:

根据以下公式求π值,并作为函数值返回。

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

π/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)returnresult;

所属年份:

2011.3

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

根据输入的三个边长(整型值),判断能否构成三角形。

若能构成等边三角形,则返回3;若是等腰三角形,则返回2;若能构成三角形则返回1;若不能,则返回0。

答案:

(1)return3;  

(2)return1;

所属年份:

2010.9;2011.3;2011.9;

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

传入一个整数m,计算如下公式的值。

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

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

答案:

(1)t-=1.0/i;

(2)returnt;

所属年份:

2012.3;

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

求S的值。

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

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

答案:

(1)doublefun(intk)

(2)returns;

所属年份:

2012.3;

已知一个数列从0项开始的前3项:

0、0、1,以后的各项都是其相邻的前3项之和。

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

计算并输出该数列前n项的平方根之和sum。

n的值通过形参传入。

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

答案:

(1)doublefun(intn)

(2)returnsum;

所属年份:

2012.3;

下列给定程序中函数fun的功能是:

将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。

高位仍在高位,低位仍在低位。

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

答案:

(1)*t=0;

(2)if(d%2!

=0)

所属年份:

2010.9;2011.3;2012.3

下列给定程序中函数fun的功能是:

计算正整数num各位上的数字之积。

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

若输入202,则输出应该是0。

答案:

(1)longk=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)floatk;

(2)if(*a<*c)

所属年份:

2011.3

下列给定程序中函数fun的功能是:

逐个比较p、q所指两个字符串对应位置上的字符,并把ASCII值大或相等的字符依次存放到c所指的数组中,形成一个新的字符串。

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

答案:

(1)intk=0;

(2)while(*p||*q)

所属年份:

2011.9;2012.3

在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。

下列给定程序中函数fun的功能是:

计算数组元素中所有值为正数的平均值(不包括0)。

例如:

数组中元素中的值依次为:

39,-47,21,2,-8,15,0,则程序的运行结果为19.250000。

答案:

(1)doublesum=0.0;

(2)sum/=c;

所属年份:

2011.9

下列给定程序中函数fun和funx的功能是:

用二分法求方程

的一个根,并要求绝对误差不超过0.001。

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

答案:

(1)doubler;

(2)while(fabs(n-m)>0.001)

所属年份:

2010.9;2012.3;

下列给定程序中函数fun的功能是:

先将s所指字符串中的字符按逆序存放到t所指字符串中,然后把s所指串中的字符按正序连接到t所指串之后。

例如:

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

答案:

(1)inti,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)inti,j=0,k,sum;

(2)if(sum%4==2)

所属年份:

2011.3

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

为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个素数通过形参指针传回主函数。

答案:

(1)y=1;

(2)d=a-i;

所属年份:

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]

所属年份:

2011.3;2012.3

下列给定程序中fun函数功能是:

将n个无序整数从小到大排序。

答案:

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

(2)p=i;

所属年份:

2011.9;2012.3

下列给定程序中函数fun的功能是:

计算并输出下列级数的前N项和SN,直到SN+1的值大于q为止,q的值通过形参传入。

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

答案:

(1)s=s+(double)(n+1)/n;

(2)returnt;

所属年份:

2011.3;2011.9

下列给定函数中,函数fun的功能是:

统计字符串中各元音字母(即A、E、I、O、U)的个数。

注意:

字母不分大小写。

例如,输入"THIsisaboot",则应输出是10220。

答案:

(1)voidfun(char*s,intnum[5])

(2)num[k]=0;(3)switch(*s)

所属年份:

2012.3;

下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。

函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。

答案:

(1)while(p!

=NULL)

(2)p=p->next;

所属年份:

2010.9;2011.9;

下列给定程序中函数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。

答案:

(1)#defineFU(m,n)(m)/(n)

(2)return(value);

所属年份:

2011.3

假定整数数列中的数不重复,并存放在数组中。

下列给定程序中函数fun的功能是:

删除数列中值为x的元素。

变量n中存放数列中元素的个数。

答案:

(1)if(p==n)return-1;

(2)a[i]=a[i+1];

所属年份:

2010.9;2012.3;

下列给定程序中函数fun的功能是:

将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指字符串,所形成的新串放在w所指的数组中。

要求t1和t2所指字符串的长度相同。

例如,当s所指字符串中的内容为:

"abcdabfabc",t1所指串中的内容为"ab",t2所指子串中的内容为"99"时,结果在w所指的数组中的内容应为"abcdabf99c"。

答案:

(1)while(*w)

(2)if(*r==*p)

所属年份:

2010.9;2011.3;2011.9

下列给定程序中函数fun的功能是:

将m(1≤m≤10)个字符串连接起来,组成一个新串,放入pt所指存储区中。

例如:

把三个串"abc"、"CD"、"EF"连接起来,结果是"abcCDEF"。

答案:

(1)intk,q,i;

(2)pt[i]=str[k][i];

所属年份:

2010.9;2011.3;2011.9;

给定程序中函数fun的功能是:

首先把b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和b所指字符串中的字符,按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指的数组的尾部。

例如,当a所指字符串中的内容为"abcdefg",b所指字符串中的内容为"1234"时,c所指数组中的内容应为"a4b3c2d1efg";而当a所指字符串中的内容为"1234",b所指字符串的内容为"abcdefg"时,c所指数组中的内容应该为"1g2f3e4dcba"。

答案:

(1)while(i

(2)if(*a)

所属年份:

2010.9;2011.9;

下列给定程序中函数fun的功能是:

求两个非零正整数的最大公约数,并作为函数值返回。

例如,若num1和num2分别为49和21,则输出的最大公约数为7;若num1和num2分别为27和81,则输出的最大公约数为27。

答案:

(1)t=a;a=b;b=t;

(2)returnb;

所属年份:

2010.9;2011.9;2012.3

下列给定程序中函数fun的功能是:

将tt所指字符串中的小写字母全部改为对应的大写字母,其它字符不变。

例如,若输入"Ab,cD",则输出"AB,CD"。

答案:

(1)if((tt[i]>='a')&&(tt[i]<='z'))

(2)tt[i]-=32;

所属年份:

2011.9;2012.3

下列给定程序中fun函数的功能是:

求表达式

s=aa…aa-…-aaa-aa-a

(此处aa…aa表示n个a,a和n的值在1至9之间)

例如,a=3,n=6,则以上表达式为:

s=333333-33333-3333-333-33-3

其值是296298。

a和n是fun函数的形参,表达式的值作为函数值传回main函数。

请改正程序中的错误,使它能计算出正确的结果。

答案:

(1)longs=0,t=0;

(2)t=t/10;

所属年份:

2010.9;2011.3;2012.3

下列给定程序中函数fun的功能是:

将长整型数中各位上为偶数的数依次取出,构成一个新数放在t中。

高位仍在高位,低位仍在低位。

例如,当s中的数为87653142时,t中的数:

8642。

答案:

(1)if(d%2==0)

(2)s/=10;

所属年份:

2011.3;

下列给定程序中函数fun的功能是:

用递归算法求形参a的平方根。

求平方根的迭代公式如下:

例如,a为2时,平方根值为:

1.414214。

答案:

(1)doublefun(doublea,doublex0)

(2)if(fabs(x1-x0)>=0.00001)

所属年份:

2010.9;2012.3

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

将字符串s中位于奇数位置的字符或ASCII码值为偶数的字符依次放入字符串t中。

例如,字符串中的数据为"AABBCCDDEEFF",则输出应当是"ABBCDDEFF"。

答案:

(1)if(i%2||s[i]%2==0)

(2)t[j]=0;

所属年份:

2010.9;2012.3;

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

将s所指字符串中的字母转换为按字母序列的后续字母(如'Z'转化为'A','z'转化为'a'),其他字符不变。

答案:

(1)while(*s)或while(*s!

='\0')

(2)s++;

所属年份:

2010年9月以前真考题目

下列给定程序中函数fun的功能是:

从p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。

例如,调用fun函数之前给字符串输入"ABCDeFGH",调用后字符串中的内容应为"eABCDFGH"。

答案:

(1)q=p+i;

(2)while(q>p)

所属年份:

2011.3;2011.9

下列给定程序中函数fun的功能是:

判断ch中的字符是否与str所指串中的某个字符相同;若相同,什么也不做,若不同,则将其插在串的最后。

答案:

(1)voidfun(char*str,charch)

(2)if(*str!

=ch)(3)str[1]=0;

所属年份:

2011.3

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

给一维数组a输入任意4个整数,并按如下的规律输出。

例如,输入1、2、3、4,程序运行后输出以下方阵:

4 1 2 3

3 4 1 2

2 3 4 1

1 2 3 4

答案:

(1)voidfun(int*a)

(2)a[j]=a[j-1];

所属年份:

2011.3

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

求整数x的y次方的低3位值。

例如,整数5的6次方为15625,此值的低3位值为625。

答案:

(1)for(i=1;i<=y;i++)

(2)t=t%1000;

所属年份:

2010.9;2012.3

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

找出一个大于给定整数m且紧随m的素数,并作为函数值返回。

答案:

(1)if(i%k==0)

(2)if(k==i)

所属年份:

2012.3

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

给定n个实数,输出平均值,并统计平均值以上(含平均值)的实数个数。

例如,n=8时,输入193.199、195.673、195.757、196.051、196.092、196.596、196.579、196.763、所得平均值为195.838745,在平均值以上的实数个数应为5。

答案:

(1){intj,c=0;floatxa=0.0;

(2)if(x[j]>=xa)

所属年份:

2012.3

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

计算并输出k以内最大的10个能被13或17整除的自然数之和。

k的值由主函数传入,若k的值为500,则函数的值为4622。

答案:

(1)if((k%13==0)||(k%17==0))

(2)}

所属年份:

2010.9;2011.9;2012.3;

下列给定程序中函数fun的功能是:

实现两个变量值的交换,规定不允许增加语句和表达式。

例如,变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。

答案:

(1)t=*x;*x=y;

(2)return(t);或returnt;

所属年份:

2010.9;2011.9;2012.3;

下列给定程序中函数fun的功能是:

计算并输出high以内最大的10个素数的和。

high的值由主函数传给fun函数。

例如,若high的值为100,则函数的值为732。

答案:

(1)while((high>=2)&&(n<10))

(2)yes=0;break;

所属年份:

2010.9;2011.3;

下列给定程序中函数fun的功能是:

删除s所指字符中所有的小写字母c。

答案:

(1)s[j++]=s[i];

(2)s[j]='\0';

所属年份:

2010.9;2011.3;2012.3;

下列给定程序中函数fun的功能是:

将s所指字符串中出现的与t1所指字符串相同的子串全部替换为t2所指字符串,所形成的新串放在w所指的数组中。

要求t1和t2所指字符串的长度相同。

例如,当s所指字符串中的内容为"abcdabfab",t1所指子串中的内容为"ab",t2所指子串中的内容为"99"时,在w所指的数组中的内容应为"99cd99f99"。

答案:

(1)while(*r)

(2)*a=*r;a++;r++;

所属年份:

2010.9;2011.3;2012.3;

下列给定程序中函数fun的功能是:

用选择法对数组中的n个元素进行升序排列。

请修改程序中的错误,使它能得出正确的结果。

答案:

(1)p=j;

(2)p=i;

所属年份:

2010年9月以前真考题目

下列给定程序中函数fun的功能是:

用插入排序法对字符串中的字符进行升序排列。

插入法的基本算法是:

先对头两个字符进行排序,然后把第三个字符插入到前两个字符中,插入后前三个字符依然有序;再把第四个字符插入到前三个字符中,……。

待排序的字符串已在主函数中赋予。

答案:

(1)n=strlen(aa);

(2)ch=aa[i];

所属年份:

2012.3;

下列给定程序中函数fun的功能是:

判断一个整数是否为素数,若是素数返回1,否则返回0。

在main()函数中,若fun返回1输出YES,若fun返回0输出NO!

答案:

(1)k++;

(2)if(m==k)

所属年份:

2010.9;2011.9;2012.3

下列给定程序中函数fun的功能是:

用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数(参数num)为止。

例如,程序运行后,输入0.0001,则程序输出3.1414。

答案:

(1)while(fabs(t)>=num)

(2)t=s/n;

所属年份:

2010.9;2011.9;2012.3

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

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

答案:

(1)s[j++]=s[i];

(2)s[j]='\0';

所属年份:

2011.9;2012.3;

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

对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生的数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。

答案:

(1)t=calloc(m,sizeof(STU));

(2)t[k]=b[j];

所属年份:

2012.3

下列给定程序中函数fun的功能是:

计算n!

例如,给n输入5,则输出120.000000。

答案:

(1)if(n==0)

(2)result*=n--;

所属年份:

2010.9;2011.3;2012.3

下列给定程序中函数fun的功能是:

求出s所指字符串中最后一次出现的t所指字符串的地址,并通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL。

例如,当字符串中的内容为"abcdabfabcdx",t中内容为"ab"时,输出结果应是"abcdx"。

当字符串中的内容为"abcdabfabcdx",t中内容为"abd"时,则程序输出未找到信息"notbefound!

"。

答案:

(1)a=NULL;

(2)if(*r==*p)

所属年份:

2011.3;2011.9;

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

从s所指字符串中,找出t所指字符串的个数作为函数值返回。

例如,当s所指字符串中的内容为"abcdabfab",t所指字符串的内容为"ab",则函数返回整数3。

答案:

(1)if(*r==*p){r++;p++;}

(2)if(*r=='\0')

所属年份:

2010.9;2011.3;2011.9

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

求k!

(k<13)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1