您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 计算机二级考试最后一题打印版
1、程序设计题请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。prime函数是判断一个整数是否为素数,是返回1,否则返回0。例如,若输入:17,则应输出:46891012141516。答案:k=0;for(inti=2;i<m;i++){if(isPrimeNumber(i)!=true){k++;*(xx+k-1)=i;}}2、程序设计题请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串:123412132,输入字符为:1,则输出:3。答案:Stringss=asdfasdfasdf;Strings=a;intflag=0;for(inti=0;iss.length();i++){if(ss.substring(i,i+1).equals(s)){flag++;}}System.out.println(flag);3、程序设计题请编写函数fun,函数的功能是:实现B=A+A',即把矩阵A加上A的转置,存放在矩阵B中。计算结果在main函数中输出。例如,输入下面的矩阵:其转置矩阵为:123147456258789369程序输出:261061014101418答案:inti,j;for(i=0;i3;i++)for(j=0;j3;j++)b[i][j]=a[i][j]+a[j][i];4、程序设计题请编写函数fun,它的功能是:求出1到1000之间能被7或11整除、但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。答案:inti=77,j=0;for(;i=1000;i++)if((i%7==0)&&(i%11==0)&&(i%77!=0))a[j++]=i;renturnj;5、程序设计题请编写一个函数voidfun(char*tt,intpp[]),统计在tt所指字符串中'a'到'z'26个小写字母各自出现的次数,并依次放在pp所指数组中。例如,当输入字符串:abcdefgabcdeabc后,程序的输出结果应该是:33322110000000000000000000答案:inti,m,t=0;for(m=97;m123;m++)for(i=0;istrlen(tt);i++)while(tt[i]==m)t++;while(tt[i]=='\0')pp[n++]=t;t=0;6、程序设计题请编写一个函数voidfun(chara[],charb[],intn),其功能是:删除一个字符串中指定下标的字符。其中,a指向原字符串,删除指定字符后的字符串存放在b所指的数组中,n中存放指定的下标。例如,输入一个字符串:World,然后输入3,则调用该函数后的结果为:Word。答案:inti;for(i=0;a[i+n]!='\0';i++){if(i=k)a[i]=a[i+n];}a[i]='\0';7、程序设计题编写函数fun,函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。111S=1+─+──+...+───1+21+2+31+2+...+n例如:若n的值为11时,函数的值为:1.833333答案:doubles=0,t=0;inti;for(i=1;i=n;i++){t+=i;s+=1.0/t;}returns;8、程序设计题编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。迭代步骤如下:(1)取x1初值为0.0;(2)x0=x1,把x1的值赋给x0;(3)x1=cos(x0),求出一个新的x1;(4)若x0-x1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2);(5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。程序将输出结果Root=0.739086。答案:floatx0,x1;x0=0;x1=cos(x0);while(abs(x0-x1)=0.000001){x0=x1;x1=cos(x0);}returnx1;9、程序设计题编写函数fun,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其Fibonacci数列F(n)的定义为:F(0)=0,F(1)=1F(n)=F(n-1)+F(n-2)例如:当t=1000时,函数值为:1597。答案:intf1=0,f2=1,fn;fn=f1+f2;while(fn=t){f1=f2;f2=fn;fn=f1+f2;}returnfn;10、程序设计题编写函数fun,它的功能是计算:s作为函数值返回。在C语言中可调用log(n)函数求ln(n)。log函数的引用说明是:doublelog(doublex)。例如,若m的值为:20,fun函数值为:6.506583。答案:inti;doublesum=0;for(i=1;i=m;i++){sum+=log(i);}returnsqrt(sum);11、程序设计题规定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。例如,字符串中的内容为:*******A*BC*DEF*G****,删除后,字符串中的内容应当是:A*BC*DEF*G****。在编写函数时,不得使用C语言提供的字符串函数。答案:intj=0;char*p=a;while(*p=='*')p++;while(*p){a[j++]=*p;p++;}a[j]=0;12、程序设计题假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了尾部的*号之外,将字符串中其它*号全部删除。形参p已指向字符串中最后的一个字母。在编写函数时,不得使用C语言提供的字符串函数。例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:ABCDEFG*******。答案:char*t=a;for(;tp;t++){if(*t!='*')*(a++)=*t;}for(t--;*t!='\0';t++)*(a++)=*t;*a='\0';13、程序设计题假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其它*号全部删除。形参h已指向字符串中第一个字母,形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。例如,字符串中的内容为:****A*BC*DEF*G********,删除后,字符串中的内容应当是:****ABCDEFG********。在编写函数时,不得使用C语言提供的字符串函数。答案:intpos=0;intcount=0;while*(s+pos)!='\0'){pos++;}for(inti=r;i=v-count;i++){if(s[i]=='#'){for(intj=i;jpos-count;j++){s[j]=s[j+1];}count++;i--;}}14、程序设计题假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:删除字符串中所有的*号。在编写函数时,不得使用C语言提供的字符串函数。例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:ABCDEFG。答案:inti,j,t,fg=0;for(i=0;*(a+i)!='\0';i++)for(j=i+1;*(a+j)!='\0';j++)if(*(a+i)=='*'){t=*(a+i);*(a+i)=*(a+j);*(a+j)=t;}for(i=0;*(a+i)!='\0';i++)if(*(a+i)!='*')*(a+fg)='\0';return;15、、程序设计题假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。例如,字符串中的内容为:****A*BC*DEF*G*******,若n的值为4,删除后,字符串中的内容应当是:****A*BC*DEF*G****;若n的值为7,则字符串中的内容仍为:****A*BC*DEF*G*******。n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。提示:建议从字符串尾统计*的个数。答案:charb[81],*x;inti=0,j=0;x=a;while(xh){b[j]=*x;x++;j++;}while(h=p)if(*h!='*'){b[j]=*h;j++;h++;}elseh++;p++;while(*p){b[j]=*p;j++;p++;}b[j]='\0';j=0;while(b[j]){a[i]=b[j];i++;j++;}a[i]='\0';16、程序设计题某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中。例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,他的平均分应当是:78.875。答案:floataver=0.0;inti;for(i=0;iN;i++)aver+=stu.score[i];aver/=N;returnaver;17、、程序设计题学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。答案:inti,j=0;doublesum=0.0,aver=0.0;for(i=0;iN;i++)sum+=a[i].s;aver/=N;if(a[i].saver){b[j++].s=a[i].s;*n=j;}returnaver;18、程序设计题学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最高的学生数据放在b所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。答案:inti,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}returnk;19、程序设计题学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数是strcmp,strcmp(a,b)当a和b字符串相等时返回值为0)。答案:inti,f=0;STRECp;p=a[0];for(i=0;iN;i++)if(strcmp(a[i].num,b)==0){p=a[i];f=1;}if(f==0){p.num[0]='\0';p.s=-1;}returnp;20、程序设计题N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。例如,若学生的成绩是:85,76,69,85,91,72,64,87,则平均分应当是:78.625。答案:inti;doublemin=h-s;for(i=1;iN;i++){if(minh-s)min=h-s;h=h-next;}returnmin;21、程序设计题函数fun的功能是:将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s所指串中剩余的字符形成的新串放在t所指的数组中。例如,若s所指字符串中的内容为ABCDE
本文标题:计算机二级考试最后一题打印版
链接地址:https://www.777doc.com/doc-2042088 .html