2012年3月全国计算机等级考试二级C语言上机考试题库及答案.pdf
《2012年3月全国计算机等级考试二级C语言上机考试题库及答案.pdf》由会员分享,可在线阅读,更多相关《2012年3月全国计算机等级考试二级C语言上机考试题库及答案.pdf(5页珍藏版)》请在咨信网上搜索。
第 1 套一、填空给定函数的功能是调用fun函数建立班级通讯录。通讯录记录每位学生的编号,姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为答案yfile5.dat的二进制文件中。答案:1.STYPE 2.FILE 3.fp二、修改先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串后面。答案:1.for(i=0;i sl;i+)2.t2*sl=0;三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);第 2 套一、填空从键盘输入若干行文本(每行不超过80个字符),写到文件答案yfile4.txt中,用-1作为字符串输入结束的标记。然后将文件的内容读出显示在屏幕上。文件的读写分别有自定义函数ReadText和WriteText实现。答案:*fw str str 二、修改从低位开始取出长整形变量s中的奇数位上的数,依次构成一个新数放在t中,高位仍放在高位,低位仍放在低位。答案:long*t sl=sl*10;三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。合并的方式:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。*c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);第 3 套一、填空将自然数110以及它们的平方根写到名为答案yfile3txt的文本文档中,然后再顺序读出显示在屏幕上。答案:(1)fp(2)fclose(fp)(3)fname 二、修改将n个无序整数从小到大排序。答案:for(i=j+1;in;i+)p=i;三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);第 4 套一、填空调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0,在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中答案:“r”fs ft二、修改将长整形数中每一位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位仍在低位。答案:if(d%2=0)s/=10;三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);第 5 套一、填空把形参x的值放入一个新结点并插入到链表中,插入后结点数据域的值仍保持递增有序。答案:x p s 二、修改计算正整数num的各位上的数字之积。答案:long k=1;num/=10;三、程序计算n门课程的平均分,计算结果作为函数值返回。答案:int i;float ave=0.0;for(i=0;idata t二、修改将字符串中的字符按逆序输出,单补改变字符串中的内容。答案:void fun(char*a)printf(%c,*a);三、程序比较两个字符串的长度(不得调用c语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。答案:int i;char*p=s,*q=t;int n=0,m=0;while(*p)n+;p+;while(*q)m+;q+;if(n=m)p=s;else p=t;return p;第 7 套一、填空删除链表中数据域值相同的结点,使之只保留一个答案:q next next二、修改用选择法对数组中的n个元素按从小到大的顺序进行排序。答案:p=j;p=i;三、程序求出1到答案之间(含答案)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。答案:int i,j=0;*n=0;for(i=1;i=m;i+)if(i%7=0|i%11=0)aj=i;j+;*n=j;第 8 套一、填空在带有头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回改结点在链表中所处的顺序号;不存在,函数返回0值答案:NULL n head,ch 二、修改删除p所指字符串中的所有空白字符,输入字符串是用“#”结束输入。答案:for(i=0,t=0;pi;i+)ct=0;三、程序将ss所指字符串中所有下标为奇数位置上的字母转换成大写答案:int i;for(i=1;i=a&ssi=z)ssi-=32;第 9 套一、填空统计出带有头结点的单向链表中的个数,存放在形参n所指的存储单元中。答案:*n next head二、修改求出s所指字符串中最后一次出现的t所指子字符串的地址,通过函数返回值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL答案:a=NULL;if(*r=*p)三、程序将s所指字符串中除了下标问为偶数,同时ASCII值也为偶数的字符外,其余的全部删除:串中剩余字符所形成的一个新串放在t所指的数组中答案:int i,j=0;for(i=0;i strlen(s);i+=2)if(si%2=0)tj+=si;tj=?0?;第 10 套一 填空计算出带有头结点的单向链表中各结点数据域中值之和作为函数的返回值。答案:data next head 二、修改将s所指字符串中出现的与t1所指字符串相同的字串全部替换成t2所指字符串,所形成的新串放在w所指的数组中,在此处,要求t1和t2所指字符串的长度相同。答案:while(*r)*a=*r;a+;r+;三、程序将s所指字符串下标为偶数的字符删除,串中剩余字符形成的新串放在t所指的数组中答案:int i,j=0;for(i=1;i strlen(s);i+=2)tj+=si;tj=0;第 11 套一 填空找出指定编号人员的数据作为函数值返回,由主函数输出,若指定编号不存在,返回数据中的编号为空串答案:STU stdi.num stdi 二、修改从s所指字符串中,找出与t所指字符串相同的字串的个数作为函数返回值答案:r+;p+;if(*r=?0?)三、程序将s所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中答案:int i,j=0;for(i=0;i strlen(s);i+)if(si%2)tj+=si;tj=0;第 12 套一、填空找出指定出生年份的人员,将数据放在形参k所指的数组,由主函数输出,有函数值返回满足指定条件的人数答案:stdi.year stdi n二、修改读入一个整数k(2k1000),打印她的所有因子答案:分号去掉or Isprime(int n)if(!(n%i)三、设计找出成绩最高的学生记录,通过形参指针传回主函数答案:int i,max=a0.s,j=0;for(i=1;i N;i+)if(max ai.s)j=i;max=ai.s;*s=aj;第 13 套一、填空给定程序。将该学生的各科成绩都乘以一个系数a答案:STU scorei&std二、修改求k!(k0)else if(k=0)三、程序使数组左下三角元素的值乘以n答案:int i,j;for(i=0;i N;i+)for(j=0;j=i;j+)aij*=n;第 14 套一、.填空将形参所指结构体数组中的三个元素按num成员进行升序排列答案:*std PERSON std二、修改将m个字符串连接起来组成一个新串,放入pt所指存储区中答案:int k,q,i;pti=strki;三、程序使数组左下三角元素中的值全部值0答案:int i,j;for(i=0;i N;i+)for(j=0;j=i;j+)aij=0;第 15 套一、.填空将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在主函数中输出答案:*std stdi.age max.name二、修改实现两个整数的交换答案:void fun(int*a,int*b)t t=*b;*b=*a;*a=t;三、程序请编写一个函数、tt指向一个M行N列的二维数组,求二维数组每列中最小元素,并以此放入pp所指一维数组中。二维数组中的数已在主函数中赋予答案:int i,j,min,k;for(i=0;i N;i+)min=tt0i;k=0;for(j=1;j ttji)min=ttji;k=j;ppi=ttki;第 16 套一、.填空程序通过定义。输出这位学生的信息答案:tt tt.scorei std 二、修改求出数组中最大数和次大数,并把最大数和a【0】中的数对调,次最大数和a【1】中的书对调答案:m=i;if(akam)m=k;三、程序请编写一个程序。w是一个大与10的无符号整数,若w是n为的整数,函数求出w的低n-1位的数作为函数值返回答案:unsigned t,s=0,s1=1,p=0;t=w;while(t10)if(t/10)p=t%10;s=s+p*s1;s1=s1*10;t=t/10;return s;第 17 套一、.填空对形参ss所指字符串数组中的M个字符串按长度由短到长进行排序。ss所指字符串数组中共有M个字符串,且串长N答案:i+1 k=j t 二、修改判断ch中字符是否与str所指串中的某个字符相同;若相同,什么也不做,若不同,则将其插在串的最后答案:void fun(char*str,char ch)if(*str!=ch)str1=?0?;三、设计请编写一个函数把s所指字符串中的内容逆值答案:char bN;int i=0,j;memset(b,0,N);for(j=strlen(s)-1;j=0;j-)bi+=sj;strcpy(s,b);第 18 套一、填空求出形参ss所指的字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长,字符串数组中共有M个字符串答案:k len ssij 二、修改计算整数n的阶乘答案:result*=n-;return result;三、程序从s所指的字符串中删除给定字符。同一个字母的大小写按不同字符处理答案:char*p=s;int i=0;while(*p)if(*p!=c)si+=*p;p+;si=?0,;第 19 套一、.填空求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。Ss所指的字符串数组中共有M个字符串答案:ssi n+j 1 二、修改将p所指字符串中每个单词的最后一个字母改成大写答案:if(*p=?)*(p-1)=toupper(*(p-1);三、程序请编写函数fun对长多为7个字符的字符串,除首,尾字符外,将其余5个字符按ASCII降序排列答案:char t;int i,j;for(i=1;i num-2;i+)for(j=i+1;jnum-1;j+)if(sisj)t=si;si=sj;sj=t;第 20 套一、.填空求ss所指字符串数组中长度最长的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。Ss所指字符串数组中共有M个字符串答案:N len*n=len 二、修改根据形参答案,计算如下公式的值答案:t+=1.0/i;return t;三、程序编写一个函数。该函数可以统计一个长度为2的字符串在另个字符串中出现的次数答案:int cnt=0;char*p=str,*q;while(*p)q=strstr(p,substr);if(q=NULL)break;p=q+strlen(substr);cnt+;return cnt;第 21 套一、.填空求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中答案:M k 二、修改将tt所指字符串中的小写字母都改为对应的大写字母,其他字符不变答案:if(,a?=tti)&(tti=?z?)tti-=32;三、程序将大于1小于整数m的非素数存入xx所指数组中非素数的个数通过k传回答案:int i,j;int t=0;for(i=2;im;i+)j=2;while(ji)if(i%j=0)xxt=i;t+;break;j+;*k=t;第 22 套一、.填空将s所指字符串中的所有数字字符转移到所有非数字字符之后,并保持数字字符和非数字字符串原有的前后次序答案:j+si=t1i j 二、修改用冒泡法对6个字符串由小到大的顺序进行排序答案:for(j=i+1;j6;j+)*(pstr+i)=*(pstr+j);三 程序求出ss所指字符串中指定字符的个数,并返回此值答案:int cnt=0;char*p=ss;while(*p)if(*p=c)cnt+;p+;return cnt;第 23 套一、.填空在形参所指字符串中的每个数字字符之后插入一个*号答案:&0 sj 二、修改根据整形形参m,计算如下公式的值答案:for(i=2;i=m;i+)y+=1.0/(i*i);三 程序实现B=A+A,即把矩阵A加上A的转置,存放到B中答案:int c33;int i,j;for(i=0;i 3;i+)for(j=0;j 3;j+)cij=aji;bij=aij+cij;第 24 套一、.填空统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。答案:si,9?*t=n 二、修改通过某种方式实现俩个变量值的交换,规定不予许增加语句和表达式答案:t=*x;*x=y;return(t);三、程序求出1到1000之间能被7或11整除,但不能同时被7和11整除的所有整数并将他们放在a所指的数组中,通过n返回这些数的个数答案:int i;*n=0;for(i=7;i 1000;i+)if(i%7)=0|(i%11)=0)&(i%77)!=0)a(*n)+=i;第 25 套一、.填空把形参s所指字符串中下标为奇数的字符右移到下一个奇数的位置,最后边被移除字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动答案:1 sk c二、填空求s=aaaa-.aaa-aa-a答案:long s=0,t=0;t=t/10;三、程序请编写一个函数。统计在tt所指字符串中?a?到?z?26个小写字母各自出现的次数,并依次放在pp所指数组中答案:char*p=tt;int i;for(i=0;i=a&*p=num)t=s/n;三、程序删除一个字符串中指定下标的字符,其中,a指向原字符,删除指定字符后的字符串存在b所指的数组中,n中存放指定下标答案:int p,m=0;for(p=0;pLEN;p+)if(p!=n)bm=ap;m+;bm=?0?;第 27 套一 填空在形参所指字符串中寻找一个字符串与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处理答案:0 0 c二 修改计算数组元素中值为正数的平均值答案:double sum=0.0;sum/=c;三设计根据以下公式s,计算结果作为函数返回值,n通过形参传入答案:int k;float str=1.0,sum=1.0;for(k=2;k=n;k+)sum=sum+k;str=str+1/sum;return str;第 28 套一 填空有N*N的矩阵,根据给定的m的值,将每行元素中的值均右移m个位置,左边置为0答案:i+m m二 修改计算并输出high以内最大的10个素数之和。High的值由主函数传给fun函数答案:while(2=high)&(n0.000001);return x1;第 29.套一 填空将N*N的矩阵中元素值按列右移1个位置,右边被移出矩阵的元素绕回左边答案:N N-1 0二 修改计算并输出下列的前N项之和Sn,Sn+1大于q为止,q的值通过形参传入答案:s=s+(n+1.)/n;return t;三设计求Fibon.数列中大于t的最小的一个数,结果由函数返回,答案:int f0=0,f1=1,f;do f=f0+f1;f0=f1;f1=f;while(f t);return f;第 30 套一.填空有N*N矩阵,将矩阵的外围元素顺时针逆转,操作顺序是:首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行。临时数组中的元素成为最后一列答案:0 j-j二 修改计算s=f(-n)+f(-n+1)+f(0)+f(1)+f(2)+f(n)的值,答案:double f(double x)return s;三 设计编写函数fun,他的功能是计算s=ln(1)+ln(2.).ln(m)开根号答案:double s=0.0;int i;for(i=1;i=m;i+)s+=log(1.0*i);s=sqrt(s);return s;第 31 套一.填空有N*N矩阵,以主对角线为对称线,对称元素相加并将结构存放在左下三角元素中,右上三角元素之位0答案:N tij tji二 修改计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值。其中x和y的值不等,z和y的值不等答案:(m)/(n)return(value);三 设计将字符串中的前导*号全部删除,中间和尾部的*号不删除答案:int j=0;char*p=a;while(*p=*)p+;while(*p)aj+=*p;p+;aj=?0?;第 32 套一.填空将N*N矩阵主对角线元素中的值域反向对角线对应位置上的元素中的值交换答案:t N i=0;iamid)三 设计除了尾部的*号外,将字符串中的*号全部删除,形参p以指向字符串中最后的一个字符,答案:char*q=a;int j=0;while(*q&q0.001)三 设计除了尾部的*号外,将字符串中的*号全答案:int j=0;char*q=a;while(*q&qh)aj+=*q+;while(*h&*p&h n)while(*p&pt+n)ai=*p;i+;p+;ai=?0?;第 36 套一.填空把形参a所指数组中的最小值放在元素a【0】中,按着把形参a所指数组中的最大值放在a【1】元素中;在把a所指数组中的次小元素放在a【2】所指的数组中,把a所指的数组元素中的次大放在a【3】;其余以此类推答案:ai aj aj 二 修改用递归算法计算非波拉且数列中第n项的值,答案:switch(g)case 1:return 1;case 2:return 1;三 设计求学生的平均分放在记录的ave成员中答案:int i;for(i=0;i ave=a-ave+a-si;a-ave/=N;第 37 套一.填空把形参a所指数组中的最大值放在a【1】中,按着求出a所指数组中的最小值放在a【1】数组中;把a所指数组元素的次大值放在a【2】中,把a数组元素中的次小值放在a【3】中;其余以此类推。答案:*a 2 i+1 二 修改按顺序给s所指数组中的元素赋予从2开始的偶数,在按顺序对每五个元素求个一平均值,并将这些值依次存放在w所指的数组中,若s所指数组元素的个数不是5的倍数,多于部分忽略不计答案:sum=0.0;if(i+1)%5=0)三 设计把低于平均分的学生数据放在答案所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回答案:int i;double ave=0.0;*n=0;for(i=0;i N;i+)ave=ave+ai.s;ave/=N;for(i=0;iN;i+)if(ai.save)b*n=ai;(*n)+;return ave;第 38 套一.填空将形参a所指的数组中的前半部分元素中的值和后半部分元素中的值兑换,形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动答案:1 i ap+i二 修改把主函数中输入的3个数,最大的放在a中,最小的放在c中,中间的放在b中答案:float k;if(*a*c)三 设计把分数最高的学生的数据放在h所指数组中,答案:int i,max=a0.s,n=0;for(i=1;i N;i+)if(max ai.s)max=ai.s;for(i=0;i N;i+)if(max=ai.s)bn+=ai;return n;第 39 套一.填空逆置数组元素中的值。答案:n/2 i an-1-i 二 修改将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数,规定输入的字符串最多只能包含5为八进制数字字符答案:n=*p-0:n=n*8+*p-,0?;三 设计函数返回指定学生的学生数据,指定的学号在主函数中输入,若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回答案:STREC c;int i;c.num0=0;c.s=-1;for(i=0;i N;i+)if(strcmp(ai.num,b)=0)strcpy(c.num,ai.num);c.s=ai.s;break;return c;第 40 套一.填空函数fun的功能。进行数字字符转换,若形参ch中是数字字符0-9,则0转换为9,1转换为8,2转换为79转换为0;其他字符则保持不变;转换后的结果作为函数值返回答案:char chnext;double av=0.0;int n=0;while(p!=NULL)av=av+p-s;p=p-next;n+;av/=n;return av;第 41 套一.填空函数fun的功能。进行字母转换,其他字符则保持不变,答案:&A ch二 修改给一维数组a输入任意4个整数,并按下列的规律输入答案:void fun(int*a)aj=aj-1;三 设计计算并输出给定整数n的所有因子之和,规定n的值不大于1000答案:int s=0,i;for(i=2;i n;i+)if(n%i=0)s+=i;return s;第 42.套一 填空计算f(x)=1+x-x2/2(-1)n-1xn/n!前n项答案:1-1 t 二 修改从3个红球,5个白球,6个黑球中任意取出8个作为一组,进行输出。每组,可以没有黑球,但必须有红球和白球,答案:for(i=1;i=0&k=6)三 设计计算Sn=1+1/1!+1/2!.+1/n!答案:double s=1;long t=1;int i;for(i=1;i=n;i+)t=t*i;s+=1./t;return s;第 43 套一.填空计算f(x)=1+x-x2/2!.(-1)xn/n!至到|xn/n!|10-6答案:x n fabs(t)二 修改求整数x的y次方的低3为的值,答案:=0.000001)xn=xn*x*(0.5-n+1)/n;n+=1;sn+=xn;return(sn);第 44 套一.填空计算f(x)=1+x+x2/2!.xn/n!的前n项,答案:1 1 i二 修改找出100至n之间三位数字相等的所有整数,把这些整数放在s所指数组中,个数作为函数值返回答案:k=i;c=k%10;三 设计计算并输出给定10个数的方差答案:int i;double avg=0.0,sum=0.0,abs=0.0,fc;for(i=0;i10;i+)sum+=xi;avg=sum/10;for(i=0;i10;i+)abs+=(xi-avg)*(xi-avg);fc=sqrt(abs/10);return fc;第 45 套一.填空计算f(x)=1+x+x2/2!+.xn/n!至到|xn/n!|10-6答案:x n t 二 修改、计算n的5次方的值,通过形参指针传回主函数;计算该值的个位,十位,百位上数字之和作为函数值返回答案:d=1;s=0;d=d/10;三 设计计算并输出给定数组中每相邻两个元素之平均值的平方根之和答案:int i;double avg=0.0,sum=0.0;for(i=0;i1&n=100)for(i=1;i=n;i+)sum+=1.0/(2*i-1)-1.0/(2*i);return sum;第 47 套一.填空统计长整形数n的各个位上出现数字1、2、3的次数,并通过外部变量c1、c2、c3返回主函数答案:n%10 break break二 修改统计一个无符号整数中各个数字值为零的个数,通过形参传回主函数,把整数中最大的数字值作为函数值返回答案:if(t=0)*zero=count;三 设计计算S=1+1/1*2+1/1*2*3答案:double s=0,t=1;int i;for(i=1;i=n;i+)t*=i;s+=1./t;return s;第 48 套一.填空首先从素数2开始。用筛选法可得到2-n之间的所有素数,方法是:首先从素数2开始,将所有2 的倍数的数答案:ai ai 0二 修改为一个偶数寻找两个素数。这两个素数之和等于该偶数,并将各两个素数通过形参指针传回主函数答案:y=1;d=a-i;三 设计计算并输出n以内的能被5或9整除的所有自然数的倒数之和答案:int i;double sum=0.0;for(i=1;i=n;i+)if(i%5=0|i%9=0)sum+=1.0/i;return sum;第 49 套一.填空甲乙丙丁四人同时开始放鞭炮,甲每个t1秒放一次答案:i t+count二 修改根据输入的三个边长,判断能否构成三角形,构成的是等边三角形,还是等腰三角形。若能构成等边三角形,函数返回3,若能构成等腰三角形函数返回2,若能构成一般三角形函数返回1,若不能构成三角形函数返回0答案:int fun(int a,int b,int c)else return 1;三 设计计算3到n之间所有素数的平方根之和答案:int i,j=0;double s=0;for(i=3;i=n;i+)for(j=2;ji;j+)if(i%j=0)break;if(j=i)s=s+sqrt(i);return s;第 50 套一.填空从三个形参中找出中间的那个数,作为函数值返回答案:a a b 二 修改首先将大写字母转换为对应的小写字母,若小写字母为a-u字将其转换为其后的第5个字母,若小写字母为v-z,使其值减21.转换后的小写字母作为函数值返回答案:c=c+32;c=c+5;三 设计计算S=1+(1+|2|)+(1+|2|+|3|)(!+|2|.|n|)答案:int i;double fac=1.0;double sum=1.0;for(i=2;i0)三 设计按分数的高低排列学生记录,高分在前答案:STREC tmp;int i,j;for(i=0;i N;i+)for(j=i+1;j N;j+)if(ai.s aj.s)tmp=ai;ai=aj;aj=tmp;第 53 套一.填空将形参n中,各位上位偶数的数取出,并按原来从高到低的顺序组成一个新的数,并作为函数值返回答案:1 s i*10二 修改输出M行M列的整数方阵,然后求两条对角线上元素之和,返回此和数答案:int fun(int n,int xxM)Printf(“%4d”,xxij);三 设计将ab中的两个两位正整数合并形成一个新的正整数放在c中,合并方式是:将a中的十位和个位数依次放在变量c的百位和个位上,b中的十位数和各位数一次放在变量c的千位和十位上*c=(a/10)*1000+(b%10)*100+(a%10)*10+(b/10);第 54 套一.填空将形参n中,个位上位偶数的书取出,并按原来从高到低相反的顺序组成一个新的数,并作为函数值返回答案:0 x*10 n/10 二 修改将长整形数种每一位上为奇数的依次取出,构成一个新数放在t中,高位仍在高位,低位仍在低位答案:*t=0;if(d%2!=0)三 设计实现两个字符串的连接把答案2所指的字符串连接到答案1所指的字符串后答案:char*p=p1;while(*p)p+;while(*p2)*p+=*p2+;*p=0;第 55 套一.填空将形参n所指变量中,各位上位偶数的数去除,剩余的书按原来从高到底的顺序组成一个新的数,并通过形参指针n传回所指变量答案:10 0 x 二 修改计算n!答案:if(n=0)result*=n-;-三 设计将一个数字字符串转换为一个整数答案:long s=0,t;int i=0,j,n=strlen(p),k,s1;if(p0=-)i+;for(j=I;j=n-1;j+)t=pj-0;s1=10;for(k=j;k=eps)pi+=s;t=n/(2*n+1);s*=t;n+:pi=pi*2;return pi;第 57 套一 填空计算下式前n项的和作为函数值返回。S=1*3/22-3*5/42+5*7/62+(-1)n-1(2*n-1)*(2*n+1)/(2*n)2.答案:1 2*i(-1)二 修改判断一个数是否为素数若是返回1 否则返回0答案:k+;if(m=k)三 设计找出一维整形数组元素中最大值和他所在的下标,最大的值和他所在的下标通答案:int i;*max=a0;*d=0;for(i=1;i n;i+)if(*max ai)*max=ai;*d=i;第 58 套一填空给定程序中。S=3/22-5/42+7/62(-1)n-1(2n+1)/(2n)2 至(2n+1)/(2n)2(2*i+1)二 修改求下列分数序列前n项和,结果通过函数值返回主函数答案:double fun(int n)s=s+(double)a/b;三 设计求去一个2*答案整型二维数组中最大元素的值,并将此值返回调用函数答案:int i,j,max=a00;for(i=0;i2;i+)for(j=0;jM;j+)if(maxaij)max=aij;return max;第 59.套一 填空给定程序中S=1/22+3/22-5/42+7/62(-1)n-1(2n+1)/(2n)2 至(2n+1)/(2n)2=10-3 求S答案:0 i+2.0*i二 修改将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中答案:void fun(char*s,char*t)t2*d=0;三 设计将s所指字符串中除了下标为奇数,同事ASCII值也为奇数的字符之外,其余的所以有字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中答案:int i,j=0;for(i=1;i strlen(s);i+=2)if(i%2=0&si%2)tj+=si;tj=,0?;第 60 套一 填空将形参s坐直字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回答案:si k 0二 修改将s所指字符串中最后一次出现的与t1所指字符串相同的字串替换成t2所指字符串,所形成的新串放在w所指的数组答案:while(*w)if(*r=*p)三 设计将s所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成新串放在t所答案:int i,j=0;for(i=1;i strlen(s);i+=2)if(si%2=0)tj+=si;tj=?0?;第 61.套一 填空将形参s所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理有新字符串的首地址作为函数值返回答案:j k p二 修改首先把b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和答案所指字符串中的字符。按排列的顺序交叉合并到c所指数组中,答案:while(ij)if(*a)三 设计将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s所指串中答案:int i,j=0;for(i=0;i strlen(s);i+)if(!(i%2)=0&(si%2)tj+=si;tj=,0?;第 62 套一.填空计算形参x所指数组中N个数的平均答案:0 xi/N j+二 修改根据整型变量m,计算如下公式答案:double fun(int m)for(i=100;i=m;i+=100)三 设计找出成绩最低的学生记录,通过形参返回主函数答案:int i,min=a0.s,j=0;for(i=1;i ai.s)j=i;min=ai.s;*s=aj;第 63 套一.填空计算x所指数组中N个数的平均值,平均值通过形参返回主函数,将小于平均值的最接近平均值的数作为函数值返回,在主函数中输出答案:*av i xj二 修改根据整形形参n,计算如下公式答案:float fun(int n)for(i=2;i=n;i+)三 设计使数组右上三角元素中的值乘以m答案:int i,j;for(i=0;i N;i+)for(j=i;j N;j+)aij*=m;第 64 套一 填空计算形参x所指数组中N个数的平均值,将所指数组中大于平均值的数据移至数组前部,小于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在函数中输出平均值和移动和后的数据。答案:s/N j+-1二 修改读入一个英文文本行,将其每个单词的第一个字母改写成大写,然后输出文本。答案:#include upfst(char*p)三 设计求出数组周边元素的平均值并作为函数值返给主函数中的s.答案;int i,j,n=0;double sum=0;for(i=0;iN;i+)sum+=w0i+wN-1i n+=2;for(i=1;i=N-1;i+)sum+=wi0+wiN-1;n+=2;return sum/n;第 65 套一 填空计算形参x所指数组中N个数的平均值,将所指数组中小于平均值的数据移至数组前部,大于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在函数中输出平均值和移动和后的数据。答案:xi/N j+i+二 修改统计字符串中个元音字母的个数。答案:numk=0;switch(*s)三 设计请编写函数fun求出二维数组周边元素之和,作为函数返回值,答案:int tot=0,i,j;for(i=0;iN;i+)tot+=a0i;tot+=aM-1i for(i=1;iM-1;i+)tot+=ai0;tot+=aiN-1;return tot;第 66 套一 填空给定程序中将a和b所指的两个字符串转换成面值相同的整数,进行相加作为函数值返回,规定字符串中只含9个以下数字字符。答案;0 s+ctod(a)+ctod(b)二 修改分别统计字符串中大写字母和小写字母的个数。答案:void fun(char*s,int*a,int*b)*a=*a+1*b=*b+1三 设计请编写一个函数fun使实型数保留2位小数,并对第三位进行四舍五入答案:long w;w=h*1000+5;return(float)w/1000;第 67 套一填空调用随机函数产生20个互不相同的整数放在形参a所指数组中答案:N break n二 修改先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线元素和。答案:sum=0 scanf(“%d,”,&aij);三 设计编写程序实现矩阵转置。答案:int i,j,arr33;memcpy(arr,array,9*sizeof(int);for(i=0;i3;i+)for(j=0;j3;j+)arrayij=arrayji;第 68 套一 填空找出N*N矩阵中每列元素中最大值,按顺序依次存放于形参b所指的一维数据答案:a0i x,y二 修改交换主函数中的两个变量值答案void fun(int*x,int*y)t=*x;*x=*y;*y=t;三 设计编写函数fun。求出小于或等于lim的所有素数并放在aa数组中,函数返回所求出的素数个数。答案:int i,j,k=0;for(i=2;i=lim;i+)for(j=2;j(i/2)aak+=i;return k;第 69 套一 填空最外层元素全为1.。建立一个N*N矩阵,矩阵元素的过程规律是:最外层的元素的值全部为1;从外向内第2层元素全部为2 以此类推答案:N i i+1二 修改将十进制正整数m转换成看k进制数。并按高位到低位顺序输出。答案:aai=m%k;p- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2012 全国 计算机等级考试 二级 语言 上机 考试 题库 答案
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文