计算机二级2012年答案

申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

文档介绍

计算机二级2012年答案

a与b合并成c1填空STYPEFILEfp改错for(i=0;i<=sl;i++)t[sl*2]='';将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。4152*c=(a/10)*1000+(b/10)*100+(a%10)*10+b%10;2填空tructstudenta.namea.score[i]改错if(p==n)return-1;a[i]=a[i+1];将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。1524*c=(b/10)*1000+(a%10)*100+(b%10)*10+a/10;3填空fpfclose(fp)fname改错for(i=j+1;iscore[i]a改错char*fun(char(*sq)[M])returnsp;将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的十位和千位上。2415*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;整除7填空qnextnext改错p=j;p=i;求出1到m之内(含m)能被7或11整除的所有整数放在数组a中。inti,j=0;*n=0;for(i=1;i<=m;i++)if(i%7==0||i%11==0){a[j++]=i;(*n)++;}24填空s[i]’9’*t=n改错t=*x;*x=y;return(t);求出1到1000之内能被7或11整除,但不能同时被7和11整除的所有整数并将它们放在a所指的数组中。inti,j=0;for(i=1;i<=1000;i++)if((i%7==0||i%11==0)&&i%77!=0)a[j++]=i;*n=j;48填空a[i]a[i]0改错y=1;d=a-i;计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。inti;doubles=0.0;for(i=1;i<=n;i++)if(i%5==0||i%9==0)s+=1.0/i;returns;78填空‘0’s++sum改错if((k%13==0)||(k%17==0))}求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s。doubles=0.0;inti;for(i=0;idatat改错voidfun(char*a)printf("%c",*a);比较两个字符串的长度,函数返回较长的字符串。char*p,*t1=t,*s1=s;intn=0,m=0;while(*s1++)n++;while(*t1++)m++;if(n>=m)p=s;elsep=t;returnp;54填空010*xn/10改错*t=0if(d%2!=0)实现两个字符串的连接。char*p=p1;while(*p)p++;while(*p2)*p++=*p2++;*p=0;69填空[N]ii+1改错aa[i]=m%k;printf("%d",aa[i-1]);从传入的num个字符串中找出最长的一个字符串。inti;max=a[0];for(i=0;inext;p=p->next;判断字符串是否为回文。inti,n=0,flag=1;char*p=str;while(*p++)n++;for(i=0;i='a'&&ss[i]<='z')ss[i]-=32;71将a所指4*3矩阵中第k行的元素与第0行的元素交换。填空kNa[k][i]改错for(i=strlen(t)-1;i;i--)if(t[j]>t[j+1])将字符串ss中所有下标为奇数位置上的字母转换为大写。inti;for(i=1;i='a'&&ss[i]<='z')12nss[i]-=32;70填空0||1改错t-=1.0/i;returnt;删除字符串中的所有空格。inti=0;char*p=str;while(*p){if(*p!=’’)str[i++]=*p;p++;}str[i]=’’;18填空klenss[i][j]改错result*=n--;returnresult;从字符串中删除指定的字符。inti=0;char*p=s;while(*p){if(*p!=c)s[i++]=*p;p++;}s[i]=’’;26填空t=ii’’改错while(fabs(t)>=num)t=s/n;删除一个字符串中指定下标的字符。inti,j=0;for(i=0;i='a'&&*tt<='z')pp[*tt-'a']++;tt++;}100填空filenamefpfp改错p=(NODE*)malloc(sizeof(NODE));returnh;统计一行字符串中单词的个数。inti,n=0;for(i=0;i=’a’&&s[i]<=’z’&&s[i+1]==’’||s[i+1]=='’)n++;returnn;平均分和结构体5填空xps改错longk=1;num/=10;计算n门课程的平均分。floataver=0.0;inti;for(i=0;is;h=h->next;}returnaver/N;90填空fp==fp改错n=strlen(aa);ch=aa[i];N名学生的成绩已放入一个带头节点的链表结构中,h指向链表的头结点,找出学生的最高分。doublemax=h->s;for(h=h->next;h->next!=NULL;h=h->next)if(h->s>max)max=h->s;12nreturnmax;36填空a[i]a[j]a[j]改错switch(g)case1:case2:return1;某学生的记录由学号,8门课程成绩和平均分组成,求出该学生的平均分放在记录的ave成员中。doubleav=0.0;inti;for(i=0;is[i];av/=N;a->ave=av;37填空*a2i+1改错sum=0.0;if((i+1)%5==0)学生的记录由学号和成绩组成,把低于平均分的学生数据放在b所指的数组中。doubleaver=0.0;inti,j=0;for(i=0;isno->name&t改错doublefun(doublea,doublex0)if(fabs(x1-x0)>0.00001)学生的记录由学号和成绩组成,把高于等于平均分的学生数据放在b所指的数组中。inti,j=0;doubleaver=0.0;for(i=0;i=aver)b[j++]=a[i];*n=j;returnaver;12填空std[i].yearstd[i]n改错IsPrime(intn)if(!(n%i))已知学生的记录由学号和学习成绩构成,找出成绩最高的学生记录(规定只有一个最高分)。inti,max=a[0].s;for(i=0;imax){max=a[i].s;*s=a[i];}62填空0.0x[i]/Nj++改错doublefun(intm)for(i=100;i<=m;i+=100)已知学生的记录由学号和学习成绩构成,找出成绩最低的学生记录(规定只有一个最低分)。inti,min=a[0].s;for(i=0;imax)max=a[i].s;for(i=0;i0)学生记录由学号和成绩组成,按分数高低排列学生的记录,高分在前。inti,j;STRECt;for(i=0;ip)学生的记录由学号和成绩组成,把指定分数范围内的学生数据放在b所指的数组中,学生人数由函数值返回。inti,j=0;for(i=0;i=l&&a[i].s<=h)b[j++]=a[i];returnj;二维数组14填空*stdPERSONstd改错intk,q,i;pt[i]=str[k][i];使数组左下半三角元素中的值全部置成0。inti,j;for(i=0;i0)elseif(k==0)使数组左下半三角元素中的值乘以n。inti,j;for(i=0;ivoidupfst(char*p)求出数组周边元素的平均值。inti,j,k=0;doubles=0.0;12nfor(j=0;jnextp->next>改错p=h->next;p=p->next;将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中。inti,j;for(i=0;i=k+1)s+=sqrt(m);}returns;68填空a[0][i]=i)aa[k++]=i;75填空s--return0改错doublefun(intn)c=a;a+=b;b=c;将大于形参m且紧靠m的k个素数存入xx所指的数组中。intg=0,i,j,flag=1;for(i=m+1;1;i++){for(j=2;j=i){if(k>=0){xx[g++]=i;k--;}elsebreak;}}21填空M=xa)inti;floatp,t=1.0;for(i=1;i<=m;i++)t=t*i;p=t;for(t=1.0,i=1;i<=n;i++)t=t*i;p=p/t;for(t=1.0,i=1;i<=m-n;i++)t=t*i;p=p/t;returnp;46填空j=2ij改错sum=j=0;if(sum%4==2)inti;doubles=0.0;for(i=1;i<=n;i++)s+=(1.0/(2*i-1)-1.0/(2*i));returns;79填空*s1k[n]改错doublefun(intk)returns;inti;doubles=0.0;for(i=1;i<=n;i++)s+=1.0/(i*(i+1));returns;47填空n%10breakbreak改错if(t==0)*zero=count;inti;doubles=1.0,t=1.0;for(i=2;i<=n;i++){t*=i;s+=1.0/t;}returns;27填空’’0c改错doublesum=0.0;sum/=c;inti;floats=1.0,t=1.0;for(i=2;i<=n;i++){t+=i;s+=1.0/t;}returns;42填空1.0-1.0t改错for(i=1;i<=3;i++)if(k>=0&&k<=6)inti;doublet=1.0,s=1.0;for(i=1;i<=n;i++){t*=i;s+=1.0/t;}returns;80填空ips[j]tp改错doublefun(intn)returnsum;inti,j;doubles=1.0,p=1.0,t=1.0;for(i=1;i<=n;i++){t=t*i;p=p*x;s+=p/t;}returns;30填空0j--j改错doublef(doublex)returns;s=(ln(1)+ln(2)+ln(3)+…+ln(m))0.5。inti;doubles=0.0,log(doublex);12nfor(i=1;i<=m;i++)s+=log((double)i);returnsqrt(s);50填空aab改错c=c+32;c=c+5;S=1+(1+20.5)+(1+20.5+30.5)+…+(1+20.5+30.5+…+n0.5)inti;doubles=1.0,p=1.0;for(i=2;i<=n;i++){p+=sqrt(i);s+=p;}returns;56填空0.0n(t*t)改错for(i=0;str[i];i++)if(substr[k+1]=='')doubles=1.0;floatt=1,pi=0,n=1.0;while((fabs(s))>=eps){pi+=s;t=n/(2*n+1);s*=t;n++;}returnpi*2;43填空xnfabs(t)改错for(i=1;i<=y;i++)t=t%1000;doubles1=1.0,p=1.0,s=0.0,s0,t=1.0;intn=1;do{s0=s1;s+=s0;t*=n;p*=(0.5-n+1)*x;s1=p/t;n++;}while(fabs(s1-s0)>=1e-6);returns;44填空1.01i改错k=i;c=k%10;计算给定10个数的方差:inti,j;doubles=0.0,s1=0.0;for(i=0;i<10;i++)s1+=x[i];s1/=10;for(j=0;j<10;j++)s+=(x[j]-s1)*(x[j]-s1);s/=10;returnsqrt(s);41填空&&’A’ch改错voidfun(int*a)a[j]=a[j-1];计算给定整数n的所有因子之和。ints=0,i;for(i=2;i<=n-1;i++)if(n%i==0)s+=i;returns;45填空xnt改错d=1;s=0;d=d/10;计算并输出给定数组(长度为9)中每相邻两个元素之平均值的平方根之和。doubles=0.0;inti,j=1;for(i=0;i<9;i++)if(j<=8){s+=sqrt((x[i]+x[i+1])/2.0);j++;}returns;28填空i++mm改错while((high>=2)&&(n<10))yes=0;break;利用简单迭代方法求方程cos(x)-x=0的一个实根。Xn+1=cos(Xn)floatx1=0.0,x0;do{x0=x1;x1=cos(x0);}while(fabs(x0-x1)>=1e-6);returnx1;29填空NN-10改错s=s+(double)(n+1)/n;returnt;求Fibonacci数列中大于t的最小的一个数。inta=1,b=1,c=0,i;for(i=4;i<=t;i++){if(ca[m])m=k;w是一个大于10的无符号整数,若w是n(n≥2)位的整数,则函数求出w的后n-1位的数。unsignedt=w,s=0,sl=1,p=0;while(t>10){if(t/10)p=t%10;s+=p*sl;sl*=10;t/=10;}returns;66填空’0’s++ctod(a)+ctod(b)改错voidfun(char*s,int*a,int*b)*a=*a+1;*b=*b+1;对变量h中的值保留2位小数,并对第三位进行四舍五入。intt;floatf;t=(int)h;f=h-t;if((int)(f*1000)%10>=5)f=((int)(f*100)%100+1)/100.0;elsef=((int)(f*100))/100.0;returnt+f;74填空t,ss[i]’’改错if(i%k==0)if(k>=i)求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中。inti,j=0,k=0,*t=pp;for(i=1;i<=x;i++)if(i%2!=0)t[j++]=i;for(i=0;i0.001)除字符串前导和尾部的*号,将其它*号都删除。intj=0;char*q=a;while(*q&&qa[mid])除了尾部的*号之外,将字符串中其他*号全部删除。inti=0;char*q=a;while(q<=p){if(*q!=‘*’)a[i++]=*q;q++;}while(*q)a[i++]=*q++;a[i]=’’;82填空Nkss[i]改错intk=0;while(*p||*q)除了字符串前导的*号之外,将串中其他*号全部删除。inti=0;char*p=a;while(*p&&*p==‘*’)a[i++]=*p++;while(*p){if(*p!=‘*’)a[i++]=*p;p++;}a[i]=’’;84填空[M]N’’改错t=1;return(2*s);使字符串的前导*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。inti=0,k=0;char*t=a;while(*t==‘*’){k++;t++;}if(k>n)t=a+k-n;while(*t)a[i++]=*t++;a[i]=’’;35填空a[i]%2a[j]j改错fun(intn)if(n==1)使字符串中尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。inti=0,k=0;char*p,*t;p=t=a;while(*t)t++;t--;while(*t==‘*’){k++;t--;}t++;if(k>n){while(*p&&p*max){*max=a[i];*d=i;}76填空n++0s++改错t+=s[k];*aver=ave;求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。inti,max=s[0];for(i=0;imax){max=s[i];*k=i;}58填空3.0>(2*i+1)改错doublefun(intn)s=s+(double)a/b;求出—个2×M整型二维数组中最大元素的值。inti,j,max=a[0][0];for(i=0;i<2;i++)for(j=0;jmax)max=a[i][j];returnmax;15填空std[0]std[i].agemax.name改错voidfun(int*a,int*b)t=*b;*b=*a;*a=t;tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。inti,j,min;for(j=0;jnextqp->next改错while(*s!='')s++;移动一维数组中的内容,若数组中有n个整数,要求把下标从0到p的数组元素平移到数组的最后。intb[]={0,0,0,0,0,0,0,0,0,0},i,j=0;for(i=0;i<=p;i++)b[i]=w[i];for(i=p+1;i=n)a[j]=t;returnj;99填空”rb”>fwrite改错p=s;while(*p++);统计各年龄段的人数。inti,j;for(j=0;j=0&&a[i]<=99)b[a[i]/10]++;elseif(a[i]>=100)b[10]++;此答案请对应上机“考试模拟系统”练习,模拟系统下载地址http://www.86hot.com/jsj/down_detail.php?id=80,第一列题号即为模拟系统中的题号。12
查看更多

相关文章

您可能关注的文档