VC++教材练习题参考答案 江苏科技大学

合集下载

VC试卷(含参考答案)

VC试卷(含参考答案)

使用前注意保密江苏科技大学非计算机专业学生Visual C++ 程序设计语言期末考试试卷代号:VC09说明:1、本试卷为笔试题,含选择、填空、及编程三部分。

2、本试卷满分为100分,考试时间为120分钟。

3、所有答案必须写在答题纸上,否则不计成绩。

3、填写答案时,注意题号;特别是填空题,做到答案、填空号与试题对应。

4、答题纸上必须写明学号(含班级号)、姓名。

1、设a,b为整型变量,且均不为0,以下关系表达式中恒成立的是。

:A、 a*b/a*b==1B、 a/b*b/a==1C、 a/b*b==aD、 a/b*b+a%b==a2、在C++中,判断char型变量ch是否为大写字母的正确表达式是。

:A、’A’<=ch<=’Z’B、 (ch>=’A’)&(ch<=’Z’)C、 (ch>=’A’)&&(ch<=’Z’)D、 (‘A’<=ch)AND(‘z’>=ch)3、设有说明语句:char str[]="abcde"; int a[5];下列选项中,存在语法错误的是:A.cout<<str; B.cin>>str; C.cin>>a; D.cin>>a[0];4、下列二维数组的定义中,不正确的是:A、 int i[][4]={{1,2,3},4,5};B、 int i[4][]={1,2,3,4,5,6};C、 int i[][4]={1,2};D、int i[4][4]={{1},{2},{3},{4}};5、设有宏定义如下,则变量x的值为:# define A 4# define B A+6# define C(x) x*B/2int x=C(2+8);A、 50B、43C、42D、376、设有说明语句:void fun(int *t1,int &t2); int a=5,b=10;以下对函数fun的调用语句中,正确的是:A. f(a,b); B.f(&x,&y); C.f(a,&b); D.f(&a,b);7、设有说明: int a=5,b=5,c;执行语句:c= a>b && (c=b)&& (b*=a++); 则a、b、c的值分别为:A.6,25, 0 B.5,5,0 C.5, 5,5 D.6,25,58、关于类的访问特性的说明,下列说法正确的是()A 在同一个类中,说明访问特性的关键字可以多次使用B 成员数据必须说明为私有的C 必须在每一个成员前单独标明访问特性D 必须首先说明私有特性的成员9、用友元函数进行单目运算符重载时,该友元函数的参数表中参数的个数为:A.0 B.1 C.2 D.1或 210、以下有关this指针的叙述中,不正确的是:A.类的非静态成员函数中存在一个this指针B.this指针缺省的初值为0C.类的非静态成员函数中可直接使用this指针D.this指针指向当前对象1、设有int a,b;执行语句:b=(a=2+3,a*4),a+5;后,a+b的值为 (1) 。

计算思维_江苏科技大学中国大学mooc课后章节答案期末考试题库2023年

计算思维_江苏科技大学中国大学mooc课后章节答案期末考试题库2023年

计算思维_江苏科技大学中国大学mooc课后章节答案期末考试题库2023年1.计算机病毒是编制或在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能自我复制的一组计算机指令或程序代码。

答案:正确2.20世纪70年代末至90年代的第三代计算机网络是具有统一的___________开放式和标准化的网络。

答案:网络体系结构并遵守国际标准的3.二进制加法中1+1+1等于()(二进制)。

答案:114.物联网概念最早出现于比尔盖茨1995年__________一书,在该书中,比尔盖茨已经提及物联网概念。

答案:《未来之路》5.二进制数11011+1101等于()。

答案:1010006.符号主义学派也可称为()学派。

答案:功能模拟7.要实现信息隐藏,隐藏__________信息、区分规范与实现、抽象并__________是关键。

(答案用空格分开)答案:内部重用模块8.在对计算过程进行抽象化时,每个计算步骤都是对__________抽象的操作,并受到__________抽象的约束。

(答案用空格分开)答案:数据控制9.在对计算系统进行抽象时,抽象化操作主要包括__________抽象和__________抽象。

(答案用空格分开)答案:数据控制10.按照抽象时的精确性原则,抽象后的计算需要在__________上精确,没有二义性,__________上规范,消除随意性。

(答案用空格分开)答案:语义格式11.网络思维和系统思维重点关注计算过程的组合性。

答案:正确12.数据和信息的关系可以理解为,数据是没有经过__________的信息,信息则是数据的内容或者诠释。

答案:加工13.现代信息技术是以计算机技术、微电子技术和__________技术为特征的新兴技术。

答案:通信14.理论思维以推理和演绎为特征,以物理学科为代表。

答案:错误15.理论思维以观察和总结自然规律为特征,以物理学科为代表。

答案:错误16.逻辑思维重点关注计算过程的有效性。

A卷参考答案及评分标准

A卷参考答案及评分标准

江苏科技大学(张家港)2013 -2014 学年 2 学期计算机程序设计VC++ 课程试题 (A)卷标准答案和评分标准二、填空题(每空2分,共40分)●基本概念题(每空2分,共10分)1. (1)02. (2)个数3. (3)04. (4)撤销对象5. (5)共有访问或public●阅读程序,写出程序运行结果(每空2分,共20分)1. (6)a=2 (7)b=82. (8) 3 (9) 43. (10) 5 4 3 2 1 (11)0 2 4 6 8 104. (12)10 (13)75. (14)调用了A类中的构造函数(15)调用了A类中的构造函数●完善程序题(每空2分,共10分)1. (16)i<30 (17)i%2==1 或 i%2!=02. (18)*q=*p(19)*q='\0'(20)scopy(s1,s2)三、编程题(每题10分,共30分)四、编程题(第1题6分,第2题10分,共16分)1.参考程序:#include<iostream.h> //1' void main() {int count=0; //1'for(int m=100;m<300;m++) // 1'{for(int i=2;i<m;i++) //2{if(m%i==0)break; //2}if(i>=m) //2'{cout<<m<<'\t';count++;if(count%8==0) //1'cout<<endl;}}cout<<endl;}2.参考程序:#include<iostream.h>int GetMaxY(int m,int n) //1'{for(int i=m;i>=1;i--) //1'if(m%i==0&&n%i==0) //1'break;return i; //1'}int GetMinB(int m,int n) //1'{for(int i=m;;i++) //1'if(i%m==0&&i%n==0) //1'break;return i; //1'}void main(){int a,b;cin>>a>>b;cout<<"最大公约数为:"<<GetMaxY(a,b)<<endl; //1'cout<<"最小公倍数为:"<<GetMinB(a,b)<<endl; //1'}3.参考程序:#include<iostream.h>class shape{protected:double a,b; //0.5'public:shape(double x=0,double y=0){a=x;b=y;}//0.5'virtual double volume()=0; //0.5'};class cube:public shape //0.5'{public:cube(double x,double y=0):shape(x,y) { ;} //0.5'double volume() { return 3.14159*a*a*a*4/3; } //0.5'};class sphere:public shape //0.5'{public:sphere(double x,double y=0):shape(x,y) { } //0.5'double volume() { return a*a*a; } //0.5' };class cylinder:public shape //0.5'{public:cylinder(double x,double y):shape(x,y) { } //0.5'double volume(){ return 3.14159*a*a*b;} //0.5'};void main(){ shape *p; //0.5'cube C(0.8); sphere S(3.2); cylinder R(4.1,5); //1'p=&C; //0.5'cout<<"球体的体积是"<<p->volume()<<endl;//0.5'p=&S;//0.5'cout<<"正方体的体积是"<<p->volume()<<endl; //0.5'p=&R;//0.5'cout<<"圆柱体的体积是"<<p->volume()<<endl;}。

VC++程序设计习题参考答案

VC++程序设计习题参考答案

VC++程序设计习题参考答案
第一章
一、选择题
二、填空题
第二章
一、选择题
二、把数学表达式写成C/C++表达式
三、根据条件写一个C/C++表达式
第三章
一、选择题
注:第3题没有正确选项,结果应该是:75其他值。

第7题严格来说选项C也不是死循环,
因为当k增加到int类型的最大值后再加1会变成负数。

第四章
一、选择题
注:第2题选项A和D都不能对数组初始化。

第3题题目应改为:“要使字符数组具有字符串初值……”。

第6题题目有误,选项A、B、C是表达式不是语句,D中有印刷错误:“SCtring”应为“CString”。

第五章
一、选择题
第六章
一、选择题
个共有成员函数”,否则选项中就没有正确答案了。

第七章
一、选择题
第八章
第九章
一、选择题。

江苏科技大学计算机网络基础及答案

江苏科技大学计算机网络基础及答案

计算机网络基础一、判断题(每小题2.5 分,共 100分)()1、计算机网络的体系结构由层次结构模型和各层协议的集合组成。

()2、IP是指网际协议,它对应于开放系统互联参考模型OSI七层中的传输层。

()3、TCP/IP协议是根据ISO/OSI协议标准制定的。

()4、收发电子邮件,属于ISO/OSI RM中传输层的功能。

()5、TCP/IP参考模型共分为四层,最底层为网络接口层,最高层是应用层。

()6、ISO/OSI是一个国际标准。

()7、OSI参考模型中的传输层,接收由会话层来的数据,并向高层提供可靠的透明的数据传输,具有差错控制、流量控制及故障恢复功能。

()8、计算机网络安全包括网络管理、数据安全及数据传输安全等很多方面。

()9、运输层位于OSI体系结构的第四层。

()10、TCP/IP体系有7个层次,ISO/OSI体系有4个层次()11、设置了表格背景色后,不能设置单元格背景色。

()12、现今世界上最大的国际性计算机互联网起源于英国。

()13、视频点播系统(VOD)从根本上改变了传统的电视节目单向传输、用户对视频内容无权选择的状况。

()14、在网络攻击中,拒绝服务攻击不属于主动攻击。

()15、由于DDN实现了端到端的数字连接,它能够支持包括话音、数据、文字、图像在内的各种综合业务。

()()16、虚拟现实(Virtual Reality,VR)是指利用计算机生成种模拟环境, 通过多种多媒体专业设备使用户融入到该环境中,并与之进行自然交互的技术。

()17、在局域网中,主要采用的是频带数据传输方式。

()18、局域网中默认网关地址指的是本地网络连接其他网络路由器地址。

()19、计算机网络体系结构的层次分得越多越细则网络系统越容易实现。

()20、文件系统是在操作系统命名.存储.组织文件的综合结构.()()21、数据传输同步技术是用来验证数据传输是否正确的方法。

()22、资源子网提供访问网络和处理数据的能力,是由主机系统、终端控制器和终端组成。

VC教科书课后习题答案

VC教科书课后习题答案

第一章练习题P.91_1答:(1)正确性(2)可读性和可理解性好(3)可维护性好(4)构思好、简短、执行速度快。

1_2答:(1)封装性(2)继承和派生性(3)重载性(4)多态性。

1_3答:(1)输入源程序,得到.cpp文件(2)编译,得到.obj文件(3)构件(连接),得到.exe 文件(4)执行,运行.exe文件1_4略1_5答:(1)/*注解信息*/,运用于程序的任何地方;(2)//注解信息,运用于行尾。

1_6答:(1)分析问题,描述算法(2)编写程序,得到源程序(3)编译源程序,产生目标文件(4)构件(连接),得到可执行文件(5)调试程序。

[返回]第二章练习题P.302_1不合法的有:1.25e3.4(指数必须为整数)、‟\96\45‟(‟ ‟内只能有一个字符)合法的有:32767(整型)、35u(无符号整型)、3L(长整型)、0.0086 e-32(实型)、 (87)(字符型)、”Computer System”(字符串)、”a” (字符串)、‟a‟ (字符型)、-0(整型)、+0(整型)、.5(实型)、-.567(实型)2_2定义:以英文字母、下划线开始的,由字母、下划线和数字组成的字符序列。

合法的有:abc、English、Else(C++区分大小写,else非法)、China_bb、b3y、AbsFloat 不合法的有:2xy(不能以数字开头)、x-y(含非法字符“-”)、if(关键字不能做标识符)、b(3) (含非法字符“(”和“)”)、‟def‟(含非法字符“‟”)、float(关键字不能做标识符)。

2_3(1)b=1 (2)1 (3)c=102 (4)b=8 (5)d=40 (6)c=62_4-12E-5=-0.00012 1.25E-5=0.0000125 .01E+3=1050E-6=0.00005 12.345E4=1234502_5字符:‟a‟、‟\0x33‟、‟\r‟、‟\\‟字符串:”a”、”中国”、”8.24”、”\n\t\0x34”、”\0x33”其它:‟0x66‟、China、56.34、‟8.34‟2_6(1)x不正确,在同一个作用域内(相同的范围内)变量不能重复定义;(2)c1不正确,在同一个作用域内(相同的范围内)变量不能重复定义。

江苏科技大学计算机二级VC++经典编程题整理

江苏科技大学计算机二级VC++经典编程题整理

江苏科技大学计算机二级经典编程题整理1、设计一个程序,求出5~100之间的所有素数,要求每行输出5个数。

判断一个整数是否为素数时用一个函数来实现。

#include<iostream.h>int f(int n){for(int i=2;i<n;i++)if(n%i==0)break;if(!(i<n))return 1;else return 0;}void main(){int count=0;for(int n=5;n<=100;n++){if(f(n)){cout<<n<<'\t';if(++count%5==0)cout<<endl;}}}2、试编写一个函数求n!。

#include<iostream.h>int f(int n){if(n==1||n==0)return 1;else return n*f(n-1);}void main(){int n;cin>>n;cout<<f(n)<<endl;}3、编写一个程序求分数相加,要求其结果为最简形式,如3/10+1/6=7/15。

(此题包含:求最大公约数(经典算法))#include<iostream.h>int f(int m,int n) //求m,n的最大公约数{for(int i=m;;i--)if(m%i==0&&n%i==0)return i;}void main(){int fz1,fm1,fz2,fm2,fz,fm;cout<<"请输入第一个分数的分子和分母:";cin>>fz1>>fm1;cout<<"请输入第二个分数的分子和分母:";cin>>fz2>>fm2;fz=fz1*fm2+fz2*fm1;fm=fm1*fm2;int t=f(fz,fm);fz/=t;fm/=t;cout<<"两分数之和为:"<<fz<<'/'<<fm<<endl;}4、编程实现对序列{6,9,5,1,3,4,8,7}进行升序排列。

2010-11江科大vc阶段测试7_10章

2010-11江科大vc阶段测试7_10章

一、选择题(每题2分,计2 0分)C 1、设有变量定义int x=5,n,*p1=&x,*p2;下列表达式正确的是()。

A、p2=&p1B、*p1=*p2C、p2=p1D、n=*p2A 2、若有定义“int a[6],*p=a;”,则对a 数组元素地址的正确引用是()。

A、p+5B、*a+1C、&a+1D、*(p+2)C 3、下列引用的定义中,正确的是()。

A、int &j=new int;B、int &j=new int; j=10;C、int &j=*new int(10);D、int &*j=new int;A 4、设有变量说明int a[3][4],(*p)[4]=a;则与表达式*(a+1)+2不等价的是()A、p[1][2]B、*(p+1)+2C、p[1]+2D、a[1]+2D 5、关于类的访问特性的说明,下列说法正确的是()A必须首先说明私有特性B 成员数据必须说明为私有的C 必须在每一个成员前单独标明访问特性D 在同一个类中,说明访问特性的关键字可以多次使用B 6、在定义类A时,下列()不可以作为类的成员A指向类A的对象指针B 类A的对象C 指向另一个不同的类的对象指针D 另一个不同类的对象C 7、通常拷贝初始化构造函数的参数是()。

A某个对象 B 某个对象的成员名C 某个对象的引用名D 指向某个对象的指针名B 8、设有如下类的定义:class Ex{ int *p;public: ~Ex(){delete p;}Ex(int x=0){p=new int(x);}};则下列对象的定义中,不正确的是()。

A、Ex ex;B、Ex ex1(50),ex2=ex1;C、Ex ex=Ex(50); D.Ex ex=50;D 9、下列说法中,()是析构函数的特征A析构函数没有返回值,所以其类型定义为voidB 析构函数名与类名相同C 析构函数必须有缺省的参数D 析构函数不能重载B 10、某结构体变量定义如下,对此结构体变量的成员的引用形式正确的是()。

江苏科技大学2012-2013 C++补考试卷(附答案)

江苏科技大学2012-2013 C++补考试卷(附答案)

《计算机程序设计(VC++)期末试卷》(A卷) (试卷代号 16,考试日期2013年8月29日)学号:姓名:一、选择题(每题2分,计20分)1、下列定义变量和常量的语句中,语法不正确是〔 1 〕。

A. int const a=10;B. const int a=10;C. #define PI 3.14159;D. int n=10,a[n];2、下列叙述中,不正确的是〔 2 〕。

A. 一个函数的函数体中可以没有 return 语句B. 一个函数的函数体中可以有多个 return 语句C. 一次函数调用可以通过函数体中的多个 return 语句,返回多个值D. return 语句的 return 后面可以有表达式,也可以为空3、对于如下3个循环语句:while(e1) 循环体;for(;e2;) 循环体;do 循环体 while(e3);则下列说法正确的是〔 3 〕。

A. 表达式 e1 可省略B. 表达式 e2 可省略C. 表达式 e3 可省略D. 表达式e1、e2 和 e3 均可省略4、设有说明语句如下:int a[20]; char b[20];则下列选项中,存在语法错误的语句是〔 4 〕。

A. cin>>a;B. cout<<a;C. cin>>b;D. cout<<b;5、设有说明语句如下:char s[]=“string”,*p=s;则下列选项中,值为 6 的表达式是〔 5 〕。

A. strlen(p)B. sizeof(p)C. sizeof(*p)D. sizeof(s)6、设有说明语句如下:float a[3][4],*p1,(*p2)[3],(*p3)[4];则下列选项中,存在语法错误的语句是〔 6 〕。

A. p1=*a;B. p1=a[0];C. p2=a;D. p3=a;7、下列关于构造函数和析构函数的叙述中,正确的是〔 7 〕。

计算思维_江苏科技大学中国大学mooc课后章节答案期末考试题库2023年

计算思维_江苏科技大学中国大学mooc课后章节答案期末考试题库2023年

计算思维_江苏科技大学中国大学mooc课后章节答案期末考试题库2023年1.量子通信技术发展成熟后,将广泛地应用于军事保密通信及政府机关、军工企业、金融、科研院所和其他需要高保密通信的场合。

参考答案:正确2.采集及检测系统获取的原始图像由于受到各种条件的限制和随机干扰,往往不能直接使用。

参考答案:正确3.人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。

参考答案:正确4.消除噪声、几何校正属于人脸特征提取。

参考答案:错误5.人脸识别中的1:1问题可以理解为找出“我是谁”。

参考答案:错误6.基于用户的协同过滤本质上是寻找与我们的目标用户具有相似品味的用户。

参考答案:正确7.行为学派把通常目标聚焦在相对低等的生物身上。

参考答案:正确8.人工智能的第一次走入低谷的部分原因是对人工智能下一步的发展做出了激进的预言。

参考答案:正确9.机器感知就是使机器具有类似于人的感知能力。

参考答案:正确10.中国古代的思想家一般将智和能看成两个相对独立的概念。

参考答案:正确11.著名的教育心理学家霍华德•加德纳提出了多元智能理论。

参考答案:正确12.推荐系统是()的一个子类,它根据用户的偏好和行为,来向用户呈现他可能感兴趣的物品。

参考答案:信息过滤系统13.托攻击即是一种针对协同过滤根据近邻偏好产生推荐的特点,恶意注入伪造的(),推高或打压目标排名,从而达到改变推荐系统结果的攻击方式。

参考答案:用户模型14.基于代数特征或统计学习的人脸表征方法。

其基本思想是将人脸在空域内的高维描述转化为()或者其他空间内的低维描述。

参考答案:频域15.找出满足各位数字之和等于5的所有三位数,可采用的算法思路是()。

参考答案:蛮力法16.使用分治法求解不需要满足的条件是()。

参考答案:子问题必须是一样的17.实现最大子段和利用的算法是()。

参考答案:减治法18.人脸识别系统中的人脸检测部分在实际中主要用于在采集到的图像中准确标定出人脸的()。

大学VC++习题集参考答案

大学VC++习题集参考答案

参考答案作业1 VC++基本程序结构一、填空题1.(1)函数(2)main()2.(1)函数体(2)分号3.(1)两或二或2 (2)大小写4.(1)cin (2)cout5.(1)//6.(1)/* (2)*/7.(1)#include8.(1)#9.(1).h (2).cpp10.(1)用户(或编程者)二、单选题1.A 2.D 3.A 4.A 5.C 6.B 7.B 8.C 9.D作业2 数据类型、常量、变量、运算符一、单选题1.D 2.B 3.B 4.D 5.D 6.D 7.C 8.B 9.B 10.C 11.C 12.B二、阅读程序题1.10 12 19 412.I say:”C++” He says:”C++ is very interstiing!”三、程序设计题1.#include <iostream.h>void main(){char c1='C', c2='h', c3='i', c4='n', c5='a';c1+=4;c2+=4;c3+=4;c4+=4;c5+=4;cout<<"password is:"<<c1<<c2<<c3<<c4<<c5<<endl;}作业3 表达式一、单选题1.B 2.D 3.A 4.C 5.C 6.A 7.B 8.C二、填空题1. (1)352.(1)253.(1)6 (2)304.(1)4 (2)115.(1)(x+y)/(2*x*y)6.(1)1/(a*x*x+b*y*y)7.(1)208.(1)1 (2)39.(1)3 (2)3.210.(1)6 (2)6011.(1)x12.(1)true(或1)13.(1)false(或0)14.(1)x15.(1)!x16.(1)false(或0)17.(1)true(或1)三、写出下面各逻辑表达式的值1.(1)-72.5 (2)11.5 (3)23 (4)9 (5)6 (6)6 (7)4 2.(1)24 (2)9 (3)60 (4)0 (5)0 (6)03.(1)0 (2)1 (3)1 (4)0 (5)1作业4 简单的输入输出一、阅读程序题1.ThisisaC++program.2.a+b=333.a=3 b=2 x=1.8 y=7.0 ch1=a ch2=’ ’ ch3=b4.a=19 b=19 c=35 d=235.19 13 43二、程序改错1.1)#define pi 3.14162)去掉此句r=2.8;3)cout<<c2<<s2;三、程序设计1.# include <iostream.h>main(){ cout<<" ***************"<<'\n';cout<<" Hello!"<<'\n';cout<<" ***************"<<'\n';}2.# include <iostream.h>main(){ int s1,s2,s3,sum;cout<<"请输入三个学生的成绩:";cin>>s1>>s2>>s3;sum=s1+s2+s3;cout<<"sum="<<sum<<'\n';}3.# include <iostream.h>void main(){cout<<"please input a small character :";char a;cin>>a;char b=a-32;cout<<b<<endl;}4.#include <iostream.h>void main (){float c,f;int a;cout<<"请输入一个华氏温度:";cin>>f;c=(5.0/9.0)*(f-32); //注意5和9要用实型表示,否则5/9值为0 a=c*100+0.5; c= a/100.0; //保留保留两位小数,对第三小数位四舍五入cout<<"摄氏温度为:"<<c <<endl;}作业5 选择结构语句一、填空题1.(1)顺序结构(2)循环结构2.(1)常量3.(1)if4.(1)switch5.(1)不停止二、阅读程序题1.132.121a,b,c=7,12,303.11 14 switch end.4.10 6 4三、程序设计1.//方法一:#include <iostream.h>void main ( ){int a,b,c;cout<<"please enter three integer numbers:";cin>>a>>b>>c;if(a<b)if(b<c)cout<<"max="<<c;elsecout<<"max="<<b;else if (a<c)cout<<"max="<<c;elsecout<<"max="<<a;cout<<endl;}//方法二:#include <iostream.h>void main ( ){int a,b,c,temp,max ;cout<<"please enter three integer numbers:";cin>>a>>b>>c;temp=(a>b)?a:b; //将a和b中的大者存入temp中max=(temp>c)?temp:c; // 将a和b中的大者与c比较,最大者存入max cout<<"max="<<max<<endl;}2.#include <iostream.h>void main (){float score;char grade;cout<<"please enter score of student:";cin>>score;while (score>100||score<0){cout<<"data error,enter data again.";cin>>score;}switch(int(score/10)){case 10:case 9: grade='A';break;case 8: grade='B';break;case 7: grade='C';break;case 6: grade='D';break;default:grade='E';}cout<<"score is "<<score<<", grade is "<<grade<<endl;}3.#include <iostream.h>#include <stdio.h>void main (){char c;int letters=0,space=0,digit=0,other=0;cout<<"enter one line::"<<endl;while((c=getchar())!='\n'){if (c>='a' && c<='z'||c>='A' && c<='Z')letters++;else if (c==' ')space++;else if (c>='0' && c<='9')digit++;elseother++;}cout<<"letter:"<<letters<<", space:"<<space<<", digit:"<<digit<<", other:"<<other<<endl;}4.#include <iostream.h>void main ( ){int x,y;cout<<"enter x:";cin>>x;if (x<1){y=x;cout<<"x="<<x<<", y=x="<<y;}else if (x<10) // 1≤x<10{y=2*x-1;cout<<"x="<<x<<", y=2*x-1="<<y;}else // x≥10{y=3*x-11;cout<<"x="<<x<<", y=3*x-11="<<y;}cout<<endl;}5. #include <iostream.h>void main (){int t,a,b,c,d;cout<<"enter four numbers:";cin>>a>>b>>c>>d;cout<<"a="<<a<<", b="<<b<<", c="<<c<<",d="<<d<<endl;if (a>b){t=a;a=b;b=t;}if (a>c){t=a; a=c; c=t;}if (a>d){t=a; a=d; d=t;}if (b>c){t=b; b=c; c=t;}if (b>d){t=b; b=d; d=t;}if (c>d){t=c; c=d; d=t;}cout<<"the sorted sequence:"<<endl;cout<<a<<", "<<b<<", "<<c<<", "<<d<<endl;}作业6 循环结构语句一、单选题1.C 2.C 3.A 4.C 5.B 6.D二、写出程序的结果1.3332.s=60三、程序填空题1.(1)f1+f2 (2)i%5==0 (3)f2.(1)b<=0 (2)a=b (3)b=r四、程序设计1.#include<iostream.h>void main(){int i=0; double s=0;while(s<5) s+=double(1)/++i;cout<<"n="<<i<<endl;}//若采用for循环编写程序,则如下所示:#include<iostream.h>void main(){int i; double s=0;for(i=1; s<5; i++) s+=1.0/i;cout<<"n="<<i-1<<endl;//注意:此i-1的值为所求的n值}2. #include <iostream.h>void main (){int i,j,k,n;cout<<"narcissus numbers are:"<<endl;for (n=100;n<1000;n++){i=n/100;j=n/10-i*10;k=n%10;if (n == i*i*i + j*j*j + k*k*k)cout<<n<<" ";}cout<<endl;}3. #include <iostream.h>void main(){int day,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2; // 第1天的桃子数是第2天桃子数加1后的2倍 x2=x1;day--;}cout<<"total="<<x1<<endl; //1534}4.#include <iostream.h>void main(){int i,k;for (i=0;i<=3;i++) // 输出上面4行*号{for (k=0;k<=2*i;k++)cout<<"*"; // 输出*号cout<<endl; //输出完一行*号后换行}for (i=0;i<=2;i++) // 输出下面3行*号{ for (k=0;k<=4-2*i;k++)cout<<"*"; // 输出*号cout<<endl; // 输出完一行*号后换行}}5.#include <iostream.h>void main(){int i,t,n=20;double a=2,b=1,s=0;for (i=1;i<=n;i++){s=s+a/b;t=a;a=a+b; // 将前一项分子与分母之和作为下一项的分子 b=t; // 将前一项的分子作为下一项的分母}cout<<"sum="<<s<<endl;}作业7 控制执行顺序的语句一、填空题1.(1)break2.(1)continue3.(1)return4.(1)主(或main)5.(1)n/2+1二、写出程序的运行结果1.32.1 5 7 11 13 373.a=2b=8三、程序填空题1.(1)j<=temp (2)break (3)j>temp四、程序设计1.//方法一:#include <iostream.h>void main(){int m,s,i;for (m=2;m<1000;m++){s=0;for (i=1;i<m;i++)if ((m%i)==0) s=s+i;if(s==m){cout<<m<<" is a完数"<<endl;cout<<"its factors are:";for (i=1;i<m;i++)if (m%i==0) cout<<i<<" ";cout<<endl;}}}//方法二:#include <iostream.h>void main(){const int m=1000; // 定义寻找范围int k1,k2,k3,k4,k5,k6,k7,k8,k9,k10;int i,a,n,s;for (a=2;a<=m;a++) // a是2~1000之间的整数,检查它是否为完数{n=0; // n用来累计a的因子的个数s=a; // s用来存放尚未求出的因子之和,开始时等于afor (i=1;i<a;i++) // 检查i是否为a的因子if (a%i==0) // 如果i是a的因子{n++; // n加1,表示新找到一个因子s=s-i; // s减去已找到的因子,s的新值是尚未求出的因子之和switch(n) // 将找到的因子赋给k1,...,k10{case 1:k1=i; break; // 找出的笫1个因子赋给k1case 2:k2=i; break; // 找出的笫2个因子赋给k2case 3:k3=i; break; // 找出的笫3个因子赋给k3case 4:k4=i; break; // 找出的笫4个因子赋给k4case 5:k5=i; break; // 找出的笫5个因子赋给k5case 6:k6=i; break; // 找出的笫6个因子赋给k6case 7:k7=i; break; // 找出的笫7个因子赋给k7case 8:k8=i; break; // 找出的笫8个因子赋给k8case 9:k9=i; break; // 找出的笫9个因子赋给k9case 10:k10=i; break; // 找出的笫10个因子赋给k10}}if (s==0) // s=0表示全部因子都已找到了{cout<<a<<" is a 完数"<<endl;cout<<"its factors are:";if (n>1) cout<<k1<<","<<k2; // n>1表示a至少有2个因子if (n>2) cout<<","<<k3; // n>2表示至少有3个因子,故应再输出一个因子if (n>3) cout<<","<<k4; // n>3表示至少有4个因子,故应再输出一个因子if (n>4) cout<<","<<k5; // 以下类似if (n>5) cout<<","<<k6;if (n>6) cout<<","<<k7;if (n>7) cout<<","<<k8;if (n>8) cout<<","<<k9;if (n>9) cout<<","<<k10;cout<<endl<<endl;}}}//方法三:#include <iostream.h>void main(){int k[11];int i,a,n,s;for (a=2;a<=1000;a++){n=0;s=a;for (i=1;i<a;i++)if ((a%i)==0){n++;s=s-i;k[n]=i; // 将找到的因子赋给k[1]┅k[10]}if (s==0){cout<<a<<" is a 完数"<<endl;cout<<"its factors are:";for (i=1;i<n;i++)cout<<k[i]<<" ";cout<<k[n]<<endl;}}}2.#include <iostream.h>void main(void ){cout << "The primes in [3,20] are:"<<endl;for(int i=3;i<=20;i++) //从3到20的循环体{ int p=1; //1=素数;0=非素数for(int j=2; j<=i/2; j++) //从1到i/2的循环体{if(i%j==0) // i被j整除{ p=0; //是非素数break; } //中止对j的循环}if(p==0)continue; //若是非素数转向到i++cout << i << " , "; //输出素数i }}3.#include <iostream.h>void main(void){ for( int n=100; n<=200; n++){ if (n%3 == 0)continue; //break;cout<<n<<" ";}}作业8 函数的定义和调用一、单选题1.B2.B3.B4.A5.A6.A7.A二、填空题1.(1)float fun(int,int,int=5,int=5)2.(1)值传递(2)地址传递(3)引用传递3.(1)94.(1)245.(1)150*50=0(2)值传递三、程序设计题1.#include <iostream.h>#include <stdlib.h>int jc(int n){int j=1,i;if(n<0){cout<<"n应为正数!"<<'\n';exit(1);}if(n==0)return 1;for(i=2;i<=n;i++)j*=i;return j;}int zh(int m,int r){int c;if(m<=r){cout<<"m必须大于r!"<<'\n';exit(1);}c=jc(m)/(jc(r)*jc(m-r));return c;}void main(void){cout<<"C(4,2)="<<zh(4,2)<<'\n';cout<<"C(6,4)="<<zh(6,4)<<'\n';cout<<"C(8,7)="<<zh(8,7)<<'\n';}2.作业9 作用域与存储类一、单选题1.A2.C二、填空题1.(1)15,15,5 (2)5,15,152.(1)3 43.(1)11 (2)184.(1)95.12 25 25作业10 函数的重载、编译预处理一、单选题1.C2.A3.C4.B5.B二、填空题1.(1)宏定义(2)文件包含2.(1)#define area(a) ((a)*(a))3.(1)F=34.(1)505.(1)3行(2)3行函数的调用产生了二义性,或1行和2行定义的函数不能构成重载函数6.(1)3行(2)3行函数的调用产生了二义性,或1行和2行定义的函数不能构成重载函数三、改错题1.#define MAX 102.四、程序设计题1.作业11 一维数组的定义及应用一、单选题1.D2.D3.C4.D二、填空题1.(1)p=0 (2)p=i2.(1) int min=f[i] (2)min=f[j](3)f[i]> min3.(1)j+=2 (2)prime[j]&&prime[j]%prime[i]==0 或prime[j]%prime[i]==0(3) j=0(4) j%8==0四、程序设计题1.#include <iostream.h>void main(){int a[100],b[100],c[100];int max2,max1,j=0,k=0,t;float avg,s=0;cout<<"请输入一组整数(0结束):";int i=0;do{cin>>a[i];s+=a[i];i++;}while(a[i-1]);t=i-1;cout<<"共输入"<<t<<"个整数!"<<endl;for(i=0;i<=t;i++)if(a[i]>0)j++;else if(a[i]<0) k++;avg=s/t;cout<<"这组数的平均值为"<<avg<<endl;cout<<"其中输入的正整数个数为:"<<j<<endl;cout<<"其中输入的负整数个数为:"<<k<<endl;}作业12 二维数组的定义及应用一、单选题1.D2.B3.D4.B5.D6.D二、填空题1.(1)n* i +j+12.(1)357三、程序填空题1.(1)j=i+1 (2)a[i][j]!=a[j][i]四、改错题1.(1)void find(int a[][4],int n) (2)int max=a[i][0];(3)if(a[i][j]>max) (4)break;五、程序设计题1.作业13 字符数组的定义及应用一、单选题1.C2.C3.C4.D5.D6.A7.D二、填空题1.(1)d2.(1)45493.(1)a (2)d三、程序填空题1.(1)!(s[i]>='0'&&s[i]<='9') (2)s[j]='\0'四、程序设计题1.#include<iostream.h>int fun(char str1[],char str2[]){int i,j,k;for(i=0;str1[i];i++)for(j=i,k=0;str2[k]==str1[j];k++,j++)if(str2[k+1]=='\0')return i+1;return 0;}void main(){int m=0;char s1[100],s2[100];cin.getline(s1,100);cin.getline(s2,100);if(fun(s1,s2))cout<<s2<<"是"<<s1<<"的子串,位置在:"<<fun(s1,s2)<<endl;else cout<<s2<<"不是"<<s1<<"的子串。

江苏科技大学c++课程解析实训答案

江苏科技大学c++课程解析实训答案

《解析与实训》习题及实验参考解答目录第一章 (1)第二章 (4)第三章 (9)第四章 (20)第五章 (28)第六章 (32)第七章 (43)第八章 (67)第九章 (68)第十章 (78)第一章一、选择题1. A2.D3.A4.B5.A6.D7.D8.C9.D 10.C11.D 12.C 13.B 14.A 15.C 16.B 17.A 18.C 19.B 20.D21.A 22.D 23.B 24.B 25.B 26.A 27.C 28.B 29.D 30.C 31.A二、填空题1. #include <iostream.h> (或# include "iostream.h")2. 编译连接3. .cpp .obj .exe4. 十5. setw() iomanip.h6. a b c7. a b (注:输出第二项是空格)8. 109. 110. 字符11. 八十六12. 4.013. ; (分号)14. 105 7015. 6016. 817. 718. 1519. int(x) 或(int)x三、编程题1.#include<iostream.h>#define PI 3.1415926void main(){float r,h,area;cout<<"输入圆柱体的半径和高(r,h):"<<endl;cin>>r>>h;area=PI*r*r*h;cout<<" 圆柱体的体积为:"<<area<<endl;}2.#include<iostream.h>void main(){int x,a,b,c ,m,n;cout<<"输入一个三位整数x:"<<endl;cin>>x;a=x/100;b=x/10%10;c=x%10;m=c*100+b*10+a;n=m-x;cout<<" 反序组成的新3位整数为:"<<m<<endl;cout<<" 新3位整数减去原3位整数的值为:"<<n<<endl; }四、实验1.#include<iostream.h>void main(){cout << "中华人民共和国"<<endl ;}2.# include <iostream.h>void main (void){ int a,b,c;cin>>a>>b;c= a+b ;cout<<"c="<<c<<endl;}3.结果:1 0 1 0 1(1)结果为:10 16 16 8 10(2)换成dec结果为:a 10 10 8 a换成oec结果为:12 20 20 10 12 4.# include <iostream.h># include <math.h>void main (void){ int a,b,c,s,area;cout<<" 输入三角形三边长a,b,c:"<<endl; cin>>a>>b>>c;s= (a+b+c)/2 ;area=sqrt(s*(s-a)*(s-b)*(s-c));cout<<"三角形面积为:"<<area<<endl;}第二章一、选择题1.B2.A3.A4.C5.B6.C7.B8.B9.B 10.D 11.B 12.D 13.D 14.D 15.A 16.D 17.C 18.C 19.A 20.C 21.B 22.A 23.D 24.A 25.B 26.B 27.D 28.C 29.B 30.D 31.B 32.A 33.C 34.C二、填空题1. 选择结构循环结构2. if3. break continue4. 循环语句switch语句5. 循环语句6. 1 1 结束循环体的语句7. 60,308. d=209. 110. 1011. y=0 y=5 y=30 error12. 11 713. 2 , 314. 2 , 315. #16. s=6,k=517. 5 7 111318. 0246819.* * * * * ** ** ** * * * * *20. (1) Year / 4 !=0(2) Year / 100 !=0(3) Year / 400 !=021. (1)a<b(2) t=a;a=d;d=t;(3) b<d22. (1) c+=5 (2) c=c-2123. (1) ch>='a'&&ch<='z'|| ch>='A'&&ch<='Z'(2) ch-=32(3) ch+=3224. (1) x>2&&x<=10(2)x>-1(3) y=-125. (1)int i=200(2) i<=300(3) i/100+i/10%10+i%10==12&&(i/100)*(i/10%10)*(i%10)==42 26. (1) i<=100(2) t=s/i(3) s=-s27. (1) n (或n!=0)(2) n<0(3) n/=1028. (1) n=k*k(2) b=n/10%10(3) a==b||b==c||c==a29. (1) i<=30(2) a=a*230. (1) m=n(2) m(3) k>s31. (1) x1(2) x1=x232. (1)d<=4(2) a+i*d三、编程题1.#include<iostream.h>void main(){ int x,y,t,m,n;cout<<"输入两个整数(x,y):"<<endl;cin>>x>>y;if(x>y) {t=x;x=y;y=t;}for(int i=x;i>0;i--)if(x%i==0&&y%i==0){m=i;break;}for( i=y;;i++)if(i%x==0&&i%y==0){n=i;break;}cout<<x<<"和"<<y<<"的最大公约数是:"<<m<<endl;cout<<x<<"和"<<y<<"的最小公倍数是:"<<n<<endl;}2.# include <iostream.h>void main(void){ int s;char score;do{cout <<"请输入百分制分数(0 - 100):";cin >> s;}while(s<0||s>100);switch (s/10) {case 10 :case 9 : score='A';break;case 8 : score='B';break;case 7 : score='C';break;case 6 : score='D';break;default : score='E';break;}cout<<"百分制分数为:"<<s<<'\t'<<"五分制分数为:"<<score<<endl; }3.#include<iostream.h>#include<math.h>void main(void){ float a,b,c;cout<<"输入三角形的三边:";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){ if(a==b&&b==c)cout<<"三角形是等边三角形。

《VC实验教程答案》word版

《VC实验教程答案》word版

实验一熟悉Microsft Visual C++ 6.0开发环境四思考题#include <iostream.h>void main(){int a,b,c;cout<<"Please input a,b= "; // 输出字符串cin>>a>>b; //输入两个数据到变量a、b中c=a*b; //求乘积存入ccout<<a<<"*"<<b<<’=’<<c<<endl; //输出结果}实验二输入/输出与顺序结构三实验内容1. 阅读程序,写出运行结果。

⑴i+j=15i*j=50⑵a=9 b=52. 程序填空⑴①k=i+j②i<<'+'<<j<<'='⑵①a=c②"char"<<c<<"\tASCII="<<a3. 程序改错#include <iostream.h>void main(){double r,s,l;cout<<"Please input R";cin>>r;s=3.1416*r*r;l=2.0*3.1416*r;cout<<"S="<<s<<endl;cout<<"L="<<l<<endl;}4. 编程题⑴输入华氏温度F,计算输出对应的摄氏温度。

由华氏温度F求摄氏温度c的公式为:#include <iostream.h>void main(){double f,c;cout<<"please input F=:";cin>>f;c=(f-32)*5/9; //或c=5.0/9*(f-32);cout<<"C="<<c<<endl;}⑵输入学生的语文、数学、英语、物理4门课程的成绩,计算该学生的总成绩和平均成绩并输出。

江苏计算机二级vc考试历年真题及答案

江苏计算机二级vc考试历年真题及答案

江苏计算机二级vc考试历年真题及答案江苏计算机二级VC考试历年真题及答案一、单项选择题(每题2分,共40分)1. 在Visual C++中,以下哪个选项不是类成员函数的访问修饰符?A. publicB. privateC. protectedD. internal答案:D2. 下列哪个选项表示在Visual C++中声明一个整型变量?A. int a;B. float a;C. double a;D. char a;答案:A3. 在Visual C++中,以下哪个关键字用于创建一个类?A. structB. unionC. enumD. typedef答案:A4. 下列哪个选项不是Visual C++中的控制流语句?A. ifB. switchC. forD. goto答案:D5. 在Visual C++中,以下哪个选项是正确的数组声明?A. int[] a;B. int a[];C. int a[10];D. int a=10;答案:C6. 下列哪个选项表示在Visual C++中声明一个浮点型变量?A. int a;B. float a;C. double a;D. char a;答案:B7. 在Visual C++中,以下哪个关键字用于创建一个接口?A. classB. structC. interfaceD. enum答案:C8. 下列哪个选项不是Visual C++中的运算符?A. +B. -C. *D. ++答案:D9. 在Visual C++中,以下哪个选项是正确的函数声明?A. void myFunction();B. int myFunction;C. int myFunction();D. void myFunction;答案:C10. 下列哪个选项表示在Visual C++中声明一个字符型变量?A. int a;B. float a;C. double a;D. char a;答案:D二、多项选择题(每题3分,共30分)11. 在Visual C++中,以下哪些选项是正确的类继承方式?A. publicB. privateC. protectedD. friend答案:A, B, C12. 下列哪些选项是Visual C++中有效的数据类型?A. intB. floatC. stringD. bool答案:A, B, D13. 在Visual C++中,以下哪些关键字用于异常处理?A. tryB. catchC. throwD. finally答案:A, B, C14. 下列哪些选项是Visual C++中有效的循环控制语句?A. forB. whileC. do-whileD. switch答案:A, B, C15. 在Visual C++中,以下哪些选项是正确的函数重载?A. int add(int a, int b);B. int add(int a, int b, int c);C. int add(float a, float b);D. int add(double a, double b);答案:A, B, C三、填空题(每题4分,共30分)16. 在Visual C++中,声明一个具有默认构造函数的类,可以使用关键字________。

江苏计算机二级vc考试历年真题及答案

江苏计算机二级vc考试历年真题及答案

江苏计算机二级vc考试历年真题及答案一、单项选择题(每题2分,共20分)1. 在Visual C++中,以下哪个选项不是类成员函数的访问修饰符?A. publicB. privateC. protectedD. static答案:D2. 下列哪个选项不是Visual C++中的控制结构?A. 顺序结构B. 选择结构C. 循环结构D. 递归结构答案:D3. 在Visual C++中,下列哪个选项不是数组的初始化方式?A. 直接初始化B. 列表初始化C. 动态初始化D. 零初始化答案:C4. 在Visual C++中,下列哪个选项不是指针的使用方式?A. 指向变量的指针B. 指向数组的指针C. 指向函数的指针D. 指向类的指针答案:D5. 在Visual C++中,下列哪个选项不是函数的调用方式?A. 直接调用B. 递归调用C. 间接调用D. 静态调用答案:D6. 在Visual C++中,下列哪个选项不是类的继承方式?A. 公有继承B. 私有继承C. 保护继承D. 多重继承答案:D7. 在Visual C++中,下列哪个选项不是多态的实现方式?A. 函数重载B. 函数覆盖C. 虚函数D. 抽象类答案:A8. 在Visual C++中,下列哪个选项不是模板的应用?A. 函数模板B. 类模板C. 模板特化D. 模板继承答案:D9. 在Visual C++中,下列哪个选项不是异常处理的关键字?A. tryB. catchC. throwD. finally答案:D10. 在Visual C++中,下列哪个选项不是文件操作的函数?A. fopenB. freadC. fwriteD. fclose答案:D二、多项选择题(每题3分,共15分)1. 在Visual C++中,下列哪些选项是类成员的访问修饰符?A. publicB. privateC. protectedD. static答案:A、B、C2. 在Visual C++中,下列哪些选项是控制结构?A. 顺序结构B. 选择结构C. 循环结构D. 递归结构答案:A、B、C3. 在Visual C++中,下列哪些选项是数组的初始化方式?A. 直接初始化B. 列表初始化C. 动态初始化D. 零初始化答案:A、B、D4. 在Visual C++中,下列哪些选项是指针的使用方式?A. 指向变量的指针B. 指向数组的指针C. 指向函数的指针D. 指向类的指针答案:A、B、C5. 在Visual C++中,下列哪些选项是函数的调用方式?A. 直接调用B. 递归调用C. 间接调用D. 静态调用答案:A、B、C三、简答题(每题10分,共20分)1. 请简述Visual C++中类的构造函数和析构函数的作用。

江苏科技大学Visual C++阶段测试试卷1-2章答案

江苏科技大学Visual C++阶段测试试卷1-2章答案

江苏科技大学Visual C++阶段测验答题纸班级:学号:姓名:成绩:二、填空题(每空2分,计50分)(1)交换变量x与y的值。

(2) 5(3) c=7(4) 0(5) 1(6) y=5(7) x=11(8) a=16 a=7(9) 2(10) k=3(11) i=5(12) 5 7 11 13(13) 17 19 23(14) i=20(15) s=31(16) d<=4(17) a+i*d(18) num(19) m/10(20) c<=sqrt(b)(21) a-b(22) c<=d-1(23) break(24) m+=i(25) m==a三、编程题1、#include<iostream.h>void main(){ int p,r,n,m,temp;cout<<"请输入两个正整数:";cin>>n>>m;if (n<m){temp=n;n=m;m=temp;} //把大数放在n中,把小数放在m中; p=n*m; ////先把n和m 的乘积放在p中,以便求最小公倍数; while (m!=0) //求n和m的最大公约数;{r=n%m;n=m;m=r;}cout<<"他们的最大公约数是"<<n<<endl;cout<<"他们的最小公倍数是"<<p/n<<endl;}2、#include <iostream.h>void main(void){double s=0;double n=1;for(int j=1; j<=30; j++){ n*= j;s+=1/n;}cout<<"s="<<s+1<<endl;}3、#include <iostream.h>#include <math.h>void main(){int k,m;for(int a=2;a<10;a+=2)for(int b=0;b<10;b+=2)for(int c=0;c<10;c+=2)for(int d=0;d<10;d+=2){m=a*1000+b*100+c*10+d;k=(int)sqrt(m);if(k*k==m&&k/10%2==0&&k%10%2==0)cout<<k<<'\t'<<m<<endl;}}。

(完整版)江苏科技大学VC++程序实践答案

(完整版)江苏科技大学VC++程序实践答案

(完整版)江苏科技大学VC++程序实践答案江苏科技大学VC++实践报告一、实践任务任务一(第2题):试建立一个类SP,求f(n,k)=1^k+2^k+3^k+…+n^K,另有辅助函数power(m,n),用于求m^n。

具体要求如下:(1)私有成员数据:int n,k:存放公式中n和k得值。

(2)公有成员函数:SP(int n1,int k1):构造函数,初始化成员数据n和k。

int power(int m,int n):求m^n。

int fun( ):求公式的累加和。

void show( ):输出求的结果。

(3)在主程序中定义对象s,对该类进行测试。

任务一分析1、任务分析通过SP的成员函数power( )可求出m^n的值,再通过累加函数fun(),可求出累加和。

类的定义如下:#includeclass SP{int n,k;public:SP()int power()int fun()void show()};2、算法设计求m^n:定义变量P=1,循环n次,每次循环P乘以m求累加和:定义变量S=0,通过for循环,将power()函数计算的结果累加。

3、系统测试在主函数中用整数初始化SP的对象,并调用成员函数show()输出结果。

主函数定义如下:void main(){SP a(2,3);a.power(2,3);a.fun();a.show();}用以测试的数据为:n=2,k=3;预期的输出结果为:当n=2,k=3时,f(n,k)=9任务一程序#includeclass SP{int n,k;public:SP(int n1,int k1){n=n1;k=k1;}int power(int m,int n){int p=1;for (int i=1;i<=n;i++)p*=m;return p;}int fun(){int s=0;for (int i=1;i<=n;i++)s+=power(i,k);return s;}void show(){cout<<"当n="<<n<<",k="<<k<<"时,f(n,k)="<<fun()<<endl;< p="">}};{SP a(2,3);a.power(2,3);a.fun();a.show();}任务二(第24题):建立一个NUM,并统计特定序列中相同的字符的个数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
cout<<"原字符串为:\n"<<s1<<endl;
s2=str;//A
while(*s2)s2++;
s2--;//B
while(s1<s2){
ch=*s1;
*s1=*s2;
*s2=ch;
s1++;
s2--;
}
cout<<"逆序后的字符串为:\n"<<str<<endl;
}
/*其中A到B行可改为:
cout<<"数组a中的奇数有:\n";
for(int i=0;i<10;i++)
if(p[i]%2)
{
k++;
cout<<*(p+i)<<'\t';
if(k%5==0)cout<<'\n';
}
cout<<"\n";
}
//3.产生一个随机的二维数组b[4][5],并按矩阵的方式输出
#include<iostream.h>
}
cout<<endl;
}
//5.小写字母改写为大写字母
#include<iostream.h>
void main()
{
char str[100];
cout<<"请输入一个含空格字符的字符串。\n";
cin.getline(str,100);
for(int i=0;str[i];i++)
if(str[i]>='a'&&str[i]<='z')
#include<iostream.h>
void main()
{
int a[10],k=1;
for(int i=0;i<10;i++)
{
cout<<"请输入第"<<k++<<"个元素a["<<i<<"]\t";
cin>>a[i];
}
cout<<"数组a为:\n";
for(i=0,k=0;i<10;i++)
void trans(int,int);
void main()
{
int n,sel;
cout<<"输入一个整数:";
cin>>n;
do
{
cout<<"\n输出进制:2,8,16,32(输入0时退出):";
cin>>sel;
switch (sel)
{
case 2:trans(n,2);break;
case 8:trans(n,8);break;
#include <math.h>
void main()
{ double a,b,n;
for(n=10000;n<=99999;n++)
{
a=n*10+6;
b=6*100000+n;
if(fabs(b-4*a)<1e-5) { cout<<a<<endl;break;}
}
}
第三章
//1.一维数组的输入和输出
str[i]-='a'-'A';
cout<<"转换后的字符串为:\n";
cout<<str<<"\n";
}
//6.通过指针将字符串逆序
#include<iostream.h>
#include<string.h>
void main()
{
char str[]="abc321",*s1=str,*s2,ch;
}
4、
#include <iostream.h>
void main()
{
int a,b,c,v,aver;
cout<< "输入三个数: "<<endl;
cin>>a>>b>>c;
v=a*a+b*b+c*c;
aver=(a+b+c)/3;
cout<<"三个数的平方和是: "<<v<<endl;
cout<<"三个数的平均值是: "<<aver<<endl;
l=lcm(den1,den2);
cout<<l<<'\n';
a[i]=k,k+=2;
fun(a,48);
for(i=0;i<49;i++)
{
if(a[i]!=0)
{
cout<<setw(6)<<a[i];
n++;
if(n%5==0)
cout<<endl;
}
}
cout<<endl;
}
4-4
#include <iostream.h>
int gcd(int,int);
}
第二章
1、
#include <iostream.h>
void main()
{
int a,b,c,t;
cout<< "输入三个数: "<<endl;
cin>>a>>b>>c;
if(a>b){t=a;a=b;b=t;}
if(a>c){t=a;a=c;c=t;}
if(b>c){t=b;b=c;c=t;}
{
for(int i=0;i<n-1;i++) //若不是素数,将其值置为0
for(int j=i+1;j<n;j++)
{
if(b[i]!=0&&b[j]!=0)
if(b[j]%b[i]==0)
b[j]=0;
}
}
void main()
{
int a[210]={0},n=0,k=5;
for(int i=0;i<48;i++) //给数组赋初值
#include <iostream.h>
void main()
{
int a=4,b=5,c=6,z;
z= c-=a+=b*=10-a ;
cout<<"表达式的值为: "<<z<<endl;
cout<<" a="<<a<<" b="<<b<<" c="<<c<<endl;
}
运行结果:
表达式的值为: -28
a= 34 b= 30 c=-28
(3)
#include <iostream.h>
void main()
{
int a=4,b=5,c=6,z;
z= a=b++ + --c + b >= c ;
cout<<"表达式的值为: "<<z<<endl;
cout<<" a="<<a<<" b="<<b<<" c="<<c<<endl;
}ห้องสมุดไป่ตู้
运行结果:
表达式的值为: 15
a= 5 b= 4 c=6
3、
#include <iostream.h>
void main()
{
int a;
cout<< "输入一个数: "<<endl;
cin>>a;
cout<<a<<"的十位数是: "<<a/10<<endl;
cout<<a<<"的个位数是: "<<a%10<<endl;
s2=str+strlen(str)-1;
*/
第四章习题答案
4-1
#include <iostream.h>
void swap(int *p1,int *p2)
{
int t;
t=*p1;*p1=*p2;*p2=t;
}
void main()
{
int a,b,c;
int *s1,*s2,*s3;
cout<<"输入三个数a,b,c:";
}
3、
#include <iostream.h>
void main()
{
相关文档
最新文档