2014-CVTE网测部分软件技术测试题及答案
1、叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是(D)
A、空或只有一个结点 B、高度等于其结点数 C、该二叉树是完全二叉树 D、所有结点无右孩子
应该是二叉树的每个结点都只有一个(左或右)子树时,先序和和后序正好相反
2、假设X是这样的自然数,X能被4整除或者X的个位数是3,那么在3000以内(小于1000),求这样的X的累加之和。(1575900)
#include "stdafx.h" #include #include #include #include "math.h" #include #include using namespace std; int main(int argc, _TCHAR*argv[]) { int i,sum=0; for(i=0; i<=3000;i++) { if(i%4==0 || i==3) { sum = sum+i; } } printf("%d\n", sum); return 0; }
3、某公司数据库密码规定为5位组成的字符串,存储之前,需要将其加密,加密算法为:依次将每个字符依次将每个字符的ASC码值乘以2,再加上10,若计算到的新字符的值等于128,则继续将其除以3,否则不进行除法运算。最后将该得到的新字符串中所有字符前后互换(第一位和最后一位,第二位和倒数第二位交换,依次交换),编程求字符串“efvrg”加密后的字符串。(HORGF)
#include "stdafx.h" #include #include #include #include "math.h" #include #include using namespace std; int main(int argc, _TCHAR*argv[]) { char pwd[]= "efvrg",temp; int len =strlen(pwd); for(inti=0;i { printf("%c\n",pwd[i]); if((pwd[i]*2+10)>=128) { pwd[i]=(pwd[i]*2+10)/3; printf("新字符的值等于128%c\n",pwd[i]); } else { pwd[i]=(pwd[i]*2+10); printf("小于128%c\n",pwd[i]); } } for(intj=0;j { temp=pwd[j]; pwd[j]=pwd[len-j-1]; pwd[len-j-1]=temp; } for(intj=0;j { printf("加密后的字符串%c\n",pwd[j]); } return0; }
5、为了有效的捕获系统需求,应采用(C)
A、瀑布模型 B、V 模型 C、原型模型 D、螺旋模型
12、2到38642之间个位数为1的素数(只能被自己和1整除的数)的和是(18343110)
#include "stdafx.h" #include #include #include #include "math.h" #include #include using namespace std; int main(int argc, _TCHAR*argv[]) { int i=0,sum=0; for(i=2; i<=38642; i++) { int a,b,m = i/2; a=i; while (i%m!=0 && m>1) { m--; } if (a==1 && m==1) { sum += i; } } printf("%d\n",sum); return 0; } 13、有关类和对象的说法中不正确的一项是(C) A、对象是类的一个实例 B、任何一个对象只能是属于一个具体的类 C、一个类只能有一个对象 D、类与对象的关系与数据模型和变量的关系类似 26、写出下列程序运行的结果(BAAAABCAAABCDAABCD) #include #include intmain(){ charstr1[100]="BCD"; char str2[100]="AAAAA"; int i=0; for(i=1;i<=4;i++){ memcpy(str2,str1,i); printf("%s",str2); } return 0; }
15、输出712的N次方,结果后三位为696的N的个数,0(246)
#include "stdafx.h" #include #include #include #include "math.h" #include #include using namespace std; int main(int argc, _TCHAR* argv[]) { intsum=712,count=0; for(inti=0;i<24669;i++) { sum=sum*71200; if(sum==696) count++; } printf("输出712的N次方,结果后三位为696的N的个数为:%d (0)",count); scanf("%d",&count); return0; }
16、输出下面的第三行的结果(7)
public class Hello
{
public static void main(String args[])
{
String overview = "This chapter contains a description ofconvertions used in this manual";
for (int i = 0; i < overview.length();i++)
{
int num = 0;
for (int j = 0; j < overview.length();j++)
{
if (overview.charAt(i) == overview.charAt(j))
num++;
}
System.out.println(num);
}
}
}
17、不属于构造函数特征的是(D)
A、构造函数的函数名与类名同名 B、构造函数可以重载 C、构造函数可以设置缺省(默认)参数 D、构造函数必须指定类型说明
18到5635468724之间的最大素数是?1340501419
#include "stdafx.h" #include #include #include #include "math.h" #include #include using namespace std; int main(int argc, _TCHAR*argv[]) { unsigned longa=5635468724,c,i,d; int b=1; while(b) { a--; c=sqrt(a*1.0); for(i=2;i<=c;i++) { d = a%i; if(!d) break; } if(i>c)b=0; } printf("%ld",a); return 1; return 0; }