面向对象程序设计(C++)自我测试练习参考答案 联系客服

发布时间 : 星期一 文章面向对象程序设计(C++)自我测试练习参考答案更新完毕开始阅读6d699ec07cd184254a353549

{

j = i*10 + 6;

if( j%3 )continue; cout<

3.下面程序的输出结果是( 0 2 )。 #include

void main() { int i,j;

i = j = 2; if(i == 2)

if(i == 1)cout<

4. 下面程序的输出结果是( 5 )。 #include \

void main() { }

int x = 2; switch(x) { }

case 1: case 2: x++; case 3: x += 2; case 4: cout<

三、编程题

1. 编程统计全班学生成绩。要求每次用键盘输入一个学生的2门分数,计算输出每个学生的总分和平均分,此外,如果平均分大于等于85,为优秀,60~85为通过。统计出成绩优秀的学生和及格的学生人数。

#include #define N 4 void main()

{ int x,y,sum,a85=0,a60=0,i; float av;

for(i=0;i

{ cout<<\输入成绩:\ cin>>x>>y; sum = x+y; av = sum/2.0; if(av>=85)a85++;

if(av>=60&&av<85)a60++;

}

cout<<\优秀的学生=\及格的学生人数=\}

2. 一个数如果恰好等于他的因子之和,这个数就称为“完全数”。例如6的因子是1,2,3, 而6=1+2+3。因此6是一个完全数。编程序找出1000之内的所有完全数。

#include void main() {

int i,j,x;

for(i=1;i<1000;i++) {

for(j=1,x=0;j<=i/2;j++) if(i%j==0) x+= j; if(i == x)cout<

3. 打印出所有的“水仙花数”、所谓“水仙花数。是指一个3位数,其各位数字立方和等于

333

该数本身。例如,153是一水仙花数,因为153=1+5+3。 #include void main() { int i,a1,a2,a3,x; for(i=100;i<1000;i++) { a1 = i; a2 = i0/10; a3 = i/100; x = a1*a1*a1+a2*a2*a2+a3*a3*a3; if(i == x)cout<

4. 下列乘法算式中:每个汉字代表1个数字(1~9)。相同的汉字代表相同的数字,不同的汉字代表不同的数字。

赛软件 * 比赛 = 软件比拼

试编程确定使得整个算式成立的数字组合,如有多种情况,请给出所有可能的答案。 #include void main() {

long a1,a2,a3,a4,a5; long x,y;

for(a1=1;a1<10;a1++) for(a2=1;a2<10;a2++)

for(a3=0;a3<10;a3++) for(a4=1;a4<10;a4++) for(a5=0;a5<10;a5++) {

x = (a1*100.0+a2*10.0+a3) * (a4*10.0+a1); y = a2*1000.0+a3*100.0+a4*10.0+a5; if(y == x)

printf(\= %ld%ld%ld%ld\\n\ } printf(\}

5. 求sum=a+aa+aaa+…+aaaaa…a(n个a)之值,其中a是一为数字。例如,当a=3,n=6时,sum=3+33+333+3333+33333+333333。a和n的值由键盘输入。 #include void main() {

int a,n;

long sum=0L,t=0;

cout<<\请输入a 和n: \ cin>>a>>n;

for(int i=1;i<= n;i++) {

t = t*10+a; sum += t; }

cout<

第4章 复合数据类型

一、单选题

1.对于一维数组a[10],判断下列对数组元素的引用正确的是( A )。

A.a[2+3] B. a[3/1.0] C. a[5+8] D. a[3.4] A. a[5][0] B. a[0.5][4] C. a[4][4+5] D. a[1][4+9]

2. 对于二维数组a[5][10],判断下列对数组元素的引用正确的是( C )。 3. 以下错误的定义语句是( C )。

A. int x[ ][3] = {{0},{1},{1,2,3}};

B. int x[4][3] = {1,2,3,1,2,3,1,2,3,1,2,3}; C. int x[ ][3] = {1,2,3};

D. int x[4][3] = {{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; 4. 以下程序运行结果是( A )。

#include #include

void main() {

char chA[10] = \ strcpy(chA,chB); cout<

A. d B. c C. \\0 D. 0 5. 设有如下结构体定义: struct student { char chName[8]; int iAge; char chSex; }stStaff[3];

对结构体变量成员正确引用的是( B )。

A. cin>>stStaff.iAge; B. cin>>stStaff[0].iAge; C. cin>>stStaff; D. cin>>iAge;

二、填空题

1. 设有定义语句“int a[][3] = {{0},{1},{3}};”,则数组元素a[1][2]的值为( 0 )。 2.将字符串str2拼接到字符串str1后面。请空白处填入一条语句或一个表达式。

#include \ void main() {

char str1[80]=\ char str2[60]=\ char *t = str1, *p = str2; while( *t )t++; while( *p) { }

*t = '\\0'; cout<

*t = *p ; t++; p++;

3.下列程序的输出结果是 *p=1 m=3 n=5 。

#include \void main()

{ int a[ ]={1,2,3,-4,5}; int m,n,*p; p=&a[0]; m=*(p+2); n=*(p+4);

cout<<\}