第一范文网 - 专业文章范例文档资料分享平台

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

来源:用户分享 时间:2020-06-28 本文由核能气质少年 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

}

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<<\}

4. 下列程序的输出结果是 2,2,1,1 。

#include \void main() { }

int a[ ]={1,2,3,4,5,6}, *p; p = a;

cout<<*p<<\

三、编程题

1.用一维数组计算Fibonacci数列的前20项。 Fibonacci数列,按如下递归定义: F(1)=1; F(2)=1

F(n)=F(n-1)+F(n-2) n>2 #include void main() { int F[21],i; F[1]=1; F[2]=1; for(i=3;i<21;i++) F[i]=F[i-1]+F[i-2]; for(i=1;i<21;i++) printf(\}

2. 用冒泡排序法对输入的20个数进行降序排序并存入数组中,然后输入一个数,查找该数是否在数组中存在,若存在,打印出数组中对应的下标值。 #include #define N 20 void main() {

int a[N], i, k, t; for(i=0;i

cout<<\请输入第\个数: \ cin>>a[i]; }

for(k=1;k<=N-1;k++) //对数组进行冒泡排序 { for(i=N-1;i>=k;i--) if(a[i]>a[i-1])

{ t=a[i]; a[i]=a[i-1]; a[i-1]=t; } //反序则交换 }

cout<<\排序后的成绩是:\ for(i=0;i

cout<<\ //输出排序好的数组 cout<<\输入你要查找的数\ cin>>t;

for(i=0;i

cout<<\找到了,它在数组中的第\个数\ break; }

if(i==N)cout<<\没找到!\}

3. 编一程序,求字符串str的长度,要求用指针访问字符串。 #include void main() {

int i;

char chStr[80],*p;

cout<<\请输入一个字符串: \ cin.getline(chStr,79,'\\n');

p = chStr; i =0; while(*p) {

p++; i++; }

cout<<\字符串的长度是\}

4. 试定义一结构体,用来描述日期,具体地说,该结构共有三个成员变量,分别描述年、月、日信息。然后再定义该结构类型的一个变量,要求从键盘输入数据,并输出结果。 #include \struct MyDate {

int year; int month; int day; };

void main() {

struct MyDate a;

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新初中教育面向对象程序设计(C++)自我测试练习参考答案 (2)全文阅读和word下载服务。

面向对象程序设计(C++)自我测试练习参考答案 (2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1104783.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top