最新vc 课程实践正确答案 (1)讲课讲稿

合集下载

实习第1天下 VC编程基础演示课件

实习第1天下 VC编程基础演示课件
事件驱动的程序设计不是由事件的顺序来控制,而是由事件的发生来控 制,而这种事件的发生是随机的、不确定的,并没有预定的顺序。
它在程序设计过程中除了完成所需功能之外,更多地考虑了用户的各种 输入,并根据需要设计相应的处理程序。程序开始运行时,处于等待用户输 入事件状态,然后取得事件并作出相应反应,处理完毕又返回并处于等待事 件状态。如图1-1(b)所示。
2019/11/4
4
1.1.3 消息响应函数
返回
消息响应函数是用于处理特定消息的一些代码。例如,当用户点击 某菜单项时,希望程序弹出一个口令对话框,那么,只要在相应的消息处 理函数中编写弹出一个口令对话框的代码。
1.1.4 资源管理
程序员设计任何应用程序均将涉及到诸如菜单、对话框、消息框以及 按钮等标准格式数据。 Windows将这些数据保存在资源文件中,程序员可 通过编辑工具编辑、修改这些资源文件,使其提供所需的菜单或按钮,并 将其放入设计的程序之中。
● 应用程序类 。也称 CMyHelloApp。该类的每一个对象代表一个应用程 序。程序中默认定义一个全局CMyHelloApp对象,即theApp。
● 应用程序启动 。启动应用程序时, Windows调用应用程序框架内置的 WinMain函数, WinMain寻找CWinApp由派生出的全局构造的应用程序对 象。
序 ?2
1.1 Windows编程概念
返回
Windows程序设计是基于事件驱动,程序的运行是由事件的发生来控制 的。消息驱动机制是Windows程序设计的精髓。
1.1.1 事件与消息
当用户按下一个键、移动鼠标或单击鼠标按钮时,计算机通知 Windows 系统已经发生了一个事件,以及事件的种类、发生的时间和发生的位置 (如坐标值)。事件以如下三种方式产生:

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 课程实践正确答案 (1)

VC  课程实践正确答案 (1)

江苏科技大学课程实践报告设计题目: 程序设计(VC++)实践设计时间: 至学院:专业班级:学生姓名: 学号指导老师:1.试建立一个类PP,求出下列多项式的前n项的值。

具体要求如下:(1)私有数据成员int n:前若干项的项数。

double x:存放x的值。

double *p:根据n的大小动态申请存放Pn(x) 前n项的数组空间。

(2)公有成员函数PP(int num,double x1):构造函数,初始化数据成员n和x,使p指向动态申请的数组空间。

~PP():析构函数,释放p指向的动态内存空间。

double fun(int n1,double x):递归函数,用于求多项式的第n1项。

注意:将递归公式中的n用作函数参数。

本函数供process函数调用。

void process( ):完成求前n项的工作,并将它们存放到p指向的动态数组中。

void show( ):输出n和x,并将前n项以每行4个数的形式输出到屏幕上。

(3)在主函数中完成对该类的测试。

先输入num和x1,并定义一个PP类的对象items,用num和x1初始化items的成员n和x,调用items的成员函数,求出并输出多项式前num 项的值。

程序源代码#include<iostream.h>class pp{int n;double x;double *p;public:pp(int num,double x1);~pp();double fun(int n1,double x);void process();void show();};pp::pp(int num,double x1){n=num;x=x1;p=new double[num+1];}pp::~pp(){delete []p;}double pp::fun(int n1,double x){if(n1==0)return 1;if(n1==1)return x;if(n1>1)return ((2*n1-1)*x*fun(n1-1,x)-(n1-1)*fun(n1-2,x))/n1; }void pp::process(){int i;for(i=0;i<=n;i++){*(p+i)=fun(i,x);}}void pp::show(){cout<<"n="<<n<<'\t'<<"x="<<x<<endl;for(int i=0,m=1;i<n;i++,m++){cout<<*(p+i)<<'\t';if(m%4==0)cout<<'\n';}}void main(){int num;double x1;cout<<"put in num and x1"<<endl;cin>>num>>x1;pp items(num,x1);items.process();items.show();}运行结果2.试建立一个类SP,求,另有辅助函数power(m,n)用于求。

面向对象程序设计与VC实践习题答案市公开课金奖市赛课一等奖课件

面向对象程序设计与VC实践习题答案市公开课金奖市赛课一等奖课件

cout<<setw(2)<<a[i][j]; //printf("%2d", a[i][j]);
cout<<endl; } }
第4页
面向对象程序设计习题
办法二
000010000 000101000
#include <iostream.h>
0010201
void main() { int a[5][9],i,j;
#c{}c{;llipaanuiissSScSnnvssblooottoulSF{nnniiaadccdoa((ggoe:)isntneepu1h{<;;t,rtesai<iiro2n)g<s;te{/t"(=/r)a类儿e1ga;e组子m}=i合.年h; >}龄是:"<<age<<"}v{}e;oSSn<{{iood<dFfffccnnla...oo;pggamguu&&eet}rehttttai<gg<<ssnei12nee<t<<r(((tt(e"")))ssf)n;..(12第第pp1d((rr0))l二一ii;,nn5}tt个个,3(())8;;"");;;
}
} 第3页
面向对象程序设计习题
1 11
办法一变形
121
#include <iostream.h> #include <iomanip.h> //#include <stdio.h>
1331 14641
void main() { int i,j,a[5][5];

C陈维兴课后习题答案

C陈维兴课后习题答案

C陈维兴课后习题答案----------------------- Page 1-----------------------第一章:面向对象程序设计概述[1_1]什么是面向对象程序设计,面向对象程序设计是一种新型的程序设计范型。

这种范型的主要特征是: 程序=对象+消息。

面向对象程序的基本元素是对象,面向对象程序的主要结构特点是:第一:程序一般由类的定义和类的使用两部分组成,在主程序中定义各对象并规定它们之间传递消息的规律。

第二:程序中的一切操作都是通过向对象发送消息来实现的,对象接受到消息后,启动有关方法完成相应的操作。

面向对象程序设计方法模拟人类习惯的解题方法,代表了计算机程序设计新颖的思维方式。

这种方法的提出是软件开发方法的一场革命,是目前解决软件开发面临困难的最有希望、最有前途的方法之一。

[1_2]什么是类,什么是对象,对象与类的关系是什么,在面向对象程序设计中,对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体。

对象可以认为是:数据+操作在面向对象程序设计中,类就是具有相同的数据和相同的操作的一组对象的集合,也就是说,类是对具有相同数据结构和相同操作的一类对象的描述。

类和对象之间的关系是抽象和具体的关系。

类是多个对象进行综合抽象的结果,一个对象是类的一个实例。

在面向对象程序设计中,总是先声明类,再由类生成对象。

类是建立对象的“摸板”,按照这个摸板所建立的一个个具体的对象,就是类的实际例子,通常称为实例。

[1_3]现实世界中的对象有哪些特征,请举例说明。

对象是现实世界中的一个实体,其具有以下一些特征:----------------------- Page 2-----------------------(1)每一个对象必须有一个名字以区别于其他对象。

(2)需要用属性来描述它的某些特性。

(3)有一组操作,每一个操作决定了对象的一种行为。

(4 )对象的操作可以分为两类:一类是自身所承受的操作,一类是施加于其他对象的操作。

VC++程序设计(01):参考答案

VC++程序设计(01):参考答案
第 1 页 共 3 页
四、
ห้องสมุดไป่ตู้
实验结果(包括程序或图表、结论陈述、数据记录及分析等,可附页)
// xy.h class XY { protected: double m_x, m_y; public: XY(double x, double y) { m_x = x; m_y = y; } XY() {} virtual ~XY() {} void SetXY(double x, double y) { m_x = x; m_y = y; } double GetX() const { return m_x; } double GetY() const { return m_y; } double Integral(int n); virtual double Function(double x) = 0; }; // ab.h #include "xy.h" enum FuncName { GAUSS01, GAUSS, SIN, COS, EXP, LOG, SQRT }; class AB: public XY { public: AB(double a, double b): XY(a, b) {} ~AB() {} double Function(double x); }; class ABh: public AB { private: double m_Mean, m_StdDev; public: ABh(double a, double b, double Mean, double StdDev) : AB(a, b), m_Mean(Mean), m_StdDev(StdDev) {} ~ABh() {} double Function(double x); }; class MyClass: public AB { private: FuncName m_sel; public: MyClass(double a, double b, FuncName sel) : AB(a, b), m_sel(sel) {} ~MyClass() {} double Function(double x); };

VC程序设计课程实践基础题

VC程序设计课程实践基础题

VC程序设计课程实践基础题第1章课程实践概述1.1VC++课程实践的性质与目的“VC++课程实践”是在学习了“VC++程序设计”课程后进行的实践教学环节,该环节为学生提供一个既动手又动脑,独立实践的机会,使学生将课本上的理论知识和实践有机的结合起来,有利于巩固、提高和融合所学的课程知识,提高学生运用所学知识解决实际问题的能力。

主要目的如下:1.进一步培养学生程序设计的思想,加深对VC++语言要素和控制结构的理解。

2.针对VC++中的重点和难点内容进行训练,强调好的程序设计风格。

3.进一步熟悉VC++的编程技巧和上机调试程序的方法。

4.掌握程序设计的常用算法。

1.2VC++课程实践的要求学生必须仔细阅读本程序设计实践指导书,认真主动完成程序设计实践的要求。

要发挥自主学习的能力,充分利用时间,制订好程序设计实践的时间计划,并在程序设计实践过程中不断检测自己的计划完成情况。

根据系统的功能要求,学生必须在教师的指导下认真完成应用程序的设计。

具体要求如下:1.系统功能模块分析、控制模块分析正确;2.系统设计要实用;3.编程简练、功能全面;4.说明书、流程图要清楚。

1.3VC++课程实践的选题原则题目可从第4章中选择,创新性题目可只选择1题,仅选提高题应不少于3题,仅选基础题应不少于6题,也可组合选题,还可自行选择感兴趣的题目(须经指导老师审定)。

对于提高题、创新题及游戏题可组成团队开发,但应制定详细的项目分工说明。

1.4VC++课程实践的基本步骤课程实践是一个从分析到设计,再到总结的过程,具体工作可按如下步骤依次进行:1.确定问题要求,充分分析和理解问题本身,给出解决方案框架。

2.在确定解决方案框架过程中,考虑怎样使程序结构清晰、合理、简单和易于调试,并确定每个函数的简单功能,以及函数之间的调用关系。

3.详细设计和编码。

确定算法的主要流程,在此基础上进行代码设计。

4.上机前编写程序与检查。

可用2种方法检查程序,来有效提高调试效率,减少上机调试程序时的无谓错误。

visualc 课后习题答案

visualc 课后习题答案

visualc 课后习题答案Visual C++是一种广泛应用于软件开发的集成开发环境(IDE),它为程序员提供了一个强大的工具来编写、调试和运行C++程序。

在学习Visual C++的过程中,经常会遇到一些习题,这些习题有助于加深对编程语言和开发环境的理解。

本文将探讨一些常见的Visual C++课后习题,并给出相应的答案和解释。

一、基础知识题1. 什么是变量?答:变量是用于存储数据的一种命名空间。

在C++中,变量必须先声明后使用,可以通过赋值来改变变量的值。

2. 什么是数据类型?答:数据类型是变量的属性,用于指定变量可以存储的数据的种类和范围。

在C++中,常见的数据类型包括整型、浮点型、字符型等。

3. 如何定义一个整型变量并赋值?答:可以使用以下语句定义一个整型变量并赋值:int num = 10;4. 如何定义一个字符型变量并赋值?答:可以使用以下语句定义一个字符型变量并赋值:char ch = 'A';5. 如何定义一个浮点型变量并赋值?答:可以使用以下语句定义一个浮点型变量并赋值:float f = 3.14;二、控制流题答:条件语句用于根据条件的真假来执行不同的代码块。

在C++中,常见的条件语句有if语句和switch语句。

2. 如何使用if语句?答:if语句的基本语法如下:if (条件) {// 如果条件为真,执行这里的代码}3. 如何使用switch语句?答:switch语句的基本语法如下:switch (表达式) {case 值1:// 如果表达式的值等于值1,执行这里的代码break;case 值2:// 如果表达式的值等于值2,执行这里的代码break;default:// 如果表达式的值不等于任何一个case的值,执行这里的代码break;}三、循环题答:循环语句用于重复执行一段代码,直到满足特定条件为止。

在C++中,常见的循环语句有for循环、while循环和do-while循环。

VC 课程实践正确答案 (1)

VC  课程实践正确答案 (1)

江苏科技大学课程实践报告设计题目: 程序设计(VC++)实践设计时间: 至学院:专业班级:学生姓名: 学号指导老师:1.试建立一个类PP,求出下列多项式的前n项的值。

具体要求如下:(1)私有数据成员int n:前若干项的项数。

double x:存放x的值。

double *p:根据n的大小动态申请存放Pn(x) 前n项的数组空间。

(2)公有成员函数PP(int num,double x1):构造函数,初始化数据成员n和x,使p指向动态申请的数组空间。

~PP():析构函数,释放p指向的动态内存空间。

double fun(int n1,double x):递归函数,用于求多项式的第n1项。

注意:将递归公式中的n用作函数参数。

本函数供process函数调用。

void process( ):完成求前n项的工作,并将它们存放到p指向的动态数组中。

void show( ):输出n和x,并将前n项以每行4个数的形式输出到屏幕上。

(3)在主函数中完成对该类的测试。

先输入num和x1,并定义一个PP类的对象items,用num和x1初始化items的成员n和x,调用items的成员函数,求出并输出多项式前num 项的值。

程序源代码#include<iostream.h>class pp{int n;double x;double *p;public:pp(int num,double x1);~pp();double fun(int n1,double x);void process();void show();};pp::pp(int num,double x1){n=num;x=x1;p=new double[num+1];}pp::~pp(){delete []p;}double pp::fun(int n1,double x){if(n1==0)return 1;if(n1==1)return x;if(n1>1)return ((2*n1-1)*x*fun(n1-1,x)-(n1-1)*fun(n1-2,x))/n1; }void pp::process(){int i;for(i=0;i<=n;i++){*(p+i)=fun(i,x);}}void pp::show(){cout<<"n="<<n<<'\t'<<"x="<<x<<endl;for(int i=0,m=1;i<n;i++,m++){cout<<*(p+i)<<'\t';if(m%4==0)cout<<'\n';}}void main(){int num;double x1;cout<<"put in num and x1"<<endl;cin>>num>>x1;pp items(num,x1);items.process();items.show();}运行结果2.试建立一个类SP,求,另有辅助函数power(m,n)用于求。

VC详细讲义

VC详细讲义

VC++讲义二零零二年九月绪论应广大学员的要求,准备将我们的讲稿编写成书籍。

目前还没有完全写完,主要想让大家评价这种著述风格是否可行,希望大家多提宝贵意见,各抒己见,以便本人参考。

我目前写书追求通俗易懂,知识点解释详尽,覆盖面广,把实际开发中的技巧和常见错误贯穿在文章中,几乎不给读者留下问号,在轻松中登入高雅之堂,在读书中体验实际心得。

大家看看是否达到了这样的效果。

另外,在实际的VC++教学中,发现很少有真正精通了C语言编程的学员,一般都有或多或少概念不是完全清楚的问题,特别是一些需要丰富的实战经验才能体会和明白的问题,如字符串,指针,类型转换,定义指向函数的指针类型,这也是导致学习VC++困难的一个原因。

下面有几个简单测试将能发现你对C语言的掌握情况。

int x=35;char str[10];//问:strlen(str)和sizeof(str)的值分别是多少?strcpy(str,""/*共13个字母*/);//问:此时x和strlen(str)的值分别是多少?str="";//编译能通过吗?char *pstr;strcpy(pstr,"");//上句编译能通过吗?运行时有问题吗?const char *p1;char * const p2;//上面两句有什么区别吗?p1=(const char *)str;//如果是p1=str;编译能够通过吗?明白为什么要类型转换?类型转换的本质是什么?strcpy(p1,"abc");//编译能够通过吗?printf("%d",str);//有问题吗?pstr=3000;//编译能过吗?如果不行,该如何修改以保证编译通过呢?long y=(long)pstr;//可以这样做吗?int *p=str;*p=0x00313200;printf("%s",str);//会是什么效果?提示0x31对应字符'1',0x32对应字符'2'。

vc的课程设计

vc的课程设计

vc的课程设计一、课程目标知识目标:1. 学生能理解并掌握维生素C(以下简称“VC”)的基本概念、功能和食物来源。

2. 学生能了解VC在人体健康中的作用,如提高免疫力、促进铁吸收等。

3. 学生能掌握如何通过食物搭配和合理安排饮食来保证日常VC的摄入。

技能目标:1. 学生能够运用所学知识,分析日常饮食中VC的摄入状况,并提出改进措施。

2. 学生能够设计一份富含VC的饮食菜单,提升实际操作能力。

情感态度价值观目标:1. 培养学生对健康饮食的重视,增强自我保健意识。

2. 培养学生关爱家人健康,乐于分享健康知识,形成良好的家庭饮食习惯。

3. 增强学生环境保护意识,关注绿色、有机食品,倡导健康生活方式。

课程性质分析:本课程为自然科学类课程,以生物学、营养学为基础,结合实际生活,培养学生的科学素养和健康意识。

学生特点分析:本课程针对的学生群体为五年级学生,他们对新鲜事物充满好奇心,有一定的求知欲和自主学习能力,但注意力容易分散,需要结合生活实际,采用生动有趣的教学方法。

教学要求:1. 注重理论与实践相结合,提高学生的实际操作能力。

2. 教学过程中充分调动学生的积极性,鼓励提问、讨论,培养学生的创新思维能力。

3. 关注学生个体差异,因材施教,使每个学生都能在原有基础上得到提高。

二、教学内容1._VC的概念与功能- VC的基本概念- VC在人体中的作用- VC的食物来源2._VC的生理作用- 提高免疫力- 促进铁的吸收- 抗氧化功能- 对皮肤、牙龈、血管等的作用3._VC的摄入与需求- 人体对VC的需求量- 不同年龄、性别、生理状态下VC的需求差异- VC缺乏与过量的危害4._VC的食物搭配与摄入- 常见富含VC的食物- 食物搭配原则,提高VC的生物利用率- 日常饮食中如何保证VC的摄入5. 实践活动:设计富含VC的饮食菜单- 指导学生如何设计饮食菜单- 学生分组讨论、设计菜单- 分享、评价各组设计的饮食菜单教学内容依据课本相关章节,结合课程目标进行选择和组织。

C++课程实习及答案全解之欧阳道创编

C++课程实习及答案全解之欧阳道创编

实验题目(共4题, 第1题)标题: 1、字符串输入输出时限: 1000 ms内存限制: 10000 K总时限: 3000 ms描述:编写一个简单的控制台应用程序,先输入姓名,如“John”,再输出问候语,如“Hello, John!”。

输入: John输出: Hello, John!输入样例: John输出样例: Hello,John!提示:1、使用string类定义字符串对象,需包含头文件<string>;2、使用cin和提取符>>从键盘输入数据,使用cout 和插入符<<输出结果到屏幕,需包含头文件<iostream>;3、注意使用名称空间std。

来源:#include <iostream>#include <stdio.h>#include <stdlib.h>using namespace std;int main(){char s[10];gets(s);cout << "Hello, " <<s<< "!"<< endl;return 0;}示例代码----------------------------------------------#include <iostream>#include <string>using namespace std;int main(){string szName;cin >> szName;cout << "Hello, " << szName << "!" << endl;return 0;}-----------------------------------------------------实验题目(共4题, 第2题)标题: 2、求3个数的平均值时限: 1000 ms内存限制: 10000 K总时限: 3000 ms描述:从键盘上输入3个浮点数,求这3个数的平均值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

江苏科技大学课程实践报告设计题目: 程序设计(VC++)实践设计时间: 至学院:专业班级:学生姓名: 学号指导老师:1.试建立一个类PP,求出下列多项式的前n项的值。

具体要求如下:(1)私有数据成员int n:前若干项的项数。

double x:存放x的值。

double *p:根据n的大小动态申请存放Pn(x) 前n项的数组空间。

(2)公有成员函数PP(int num,double x1):构造函数,初始化数据成员n和x,使p指向动态申请的数组空间。

~PP():析构函数,释放p指向的动态内存空间。

double fun(int n1,double x):递归函数,用于求多项式的第n1项。

注意:将递归公式中的n用作函数参数。

本函数供process函数调用。

void process( ):完成求前n项的工作,并将它们存放到p指向的动态数组中。

void show( ):输出n和x,并将前n项以每行4个数的形式输出到屏幕上。

(3)在主函数中完成对该类的测试。

先输入num和x1,并定义一个PP类的对象items,用num和x1初始化items的成员n和x,调用items的成员函数,求出并输出多项式前num 项的值。

程序源代码#include<iostream.h>class pp{int n;double x;double *p;public:pp(int num,double x1);~pp();double fun(int n1,double x);void process();void show();};pp::pp(int num,double x1){n=num;x=x1;p=new double[num+1];}pp::~pp(){delete []p;}double pp::fun(int n1,double x){if(n1==0)return 1;if(n1==1)return x;if(n1>1)return ((2*n1-1)*x*fun(n1-1,x)-(n1-1)*fun(n1-2,x))/n1; }void pp::process(){int i;for(i=0;i<=n;i++){*(p+i)=fun(i,x);}}void pp::show(){cout<<"n="<<n<<'\t'<<"x="<<x<<endl;for(int i=0,m=1;i<n;i++,m++){cout<<*(p+i)<<'\t';if(m%4==0)cout<<'\n';}}void main(){int num;double x1;cout<<"put in num and x1"<<endl;cin>>num>>x1;pp items(num,x1);items.process();items.show();}运行结果2.试建立一个类SP,求,另有辅助函数power(m,n)用于求。

具体要求如下:(1)私有成员数据。

int n,k:存放公式中n和k的值;(2)公有成员函数。

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

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

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

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

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

程序源代码#include<iostream.h>class SP{int n,k;public:SP(int n1,int k1);int power(int m,int n);int fun();void show();};SP::SP(int n1,int k1){n=n1;k=k1;}int SP::power(int m,int n){int i;if(n==0)return 1;elsefor(i=1;i<n;i++)m*=m;return m;}int SP::fun(){int y=0,x;for(x=1;x<=n;x++)y+=power(x,k);return y;}void SP::show(){cout<<"前n项的和为:"<<fun()<<endl;}void main(){int n1,k1;cout<<"输入n1和k1的值"<<endl;cin>>n1>>k1;SP s(n1,k1);s.fun();s.show();}运行结果:3.建立一个类MOVE,不进行排序,将数组中小于平均值的元素放到数组的左边,大于平均值的元素放到数组的右边。

具体要求如下:(1)私有数据成员float array[20]:一维整型数组。

int n:数组中元素的个数。

(2)公有成员函数MOVE(float b[],int m):构造函数,初始化成员数据。

void average():输出平均值,并将数组中的元素按要求重新放置。

void print():输出一维数组。

(3)在主程序中用数据{1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3}对该类进行测试。

程序源代码#include<iostream.h>class MOVE{float array[20];int n;public:MOVE(float b[],int m);void average();void print();};MOVE::MOVE(float b[],int m){int i;n=m;for(i=0;i<m;i++)array[i]=b[i];}void MOVE::average(){int i,x;float a=0;for(i=0;i<n;i++)a+=array[i];a/=n;cout<<"平均值为"<<a<<endl;float ff[20];for(i=0,x=0;i<n;i++)if(array[i]<a){ff[x]=array[i];x++;}for(i=0;i<n;i++)if(array[i]>a){ff[x]=array[i];x++;}for(i=0;i<n;i++)array[i]=ff[i];}void MOVE::print(){int q,p=1;for(q=0;q<n;q++){cout<<array[q]<<'\t';if(p%5==0)cout<<'\n';p++;}}void main(){float b[]={1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3};int m=9;MOVE aa(b,m);aa.average();aa.print();}运行结果4.建立一个类MOVE,将数组中最大元素的值与最小元素的值互换。

具体要求如下:(1)私有数据成员int *array:一维整型数组。

int n:数组中元素的个数。

(2)公有成员函数MOVE(int b[],int m):构造函数,初始化成员数据。

void exchange():输出平均值,并将数组中的元素按要求重新放置。

void print():输出一维数组。

~MOVE():析构函数。

(3)在主程序中用数据{21,65,43,87,12,84,44,97,32,55}对该类进行测试。

程序源代码#include<iostream.h>class MOVE{int *array;int n;public:MOVE(int b[],int m);void exchange();void print();~MOVE();};MOVE::MOVE(int b[],int m){n=m;array=new int[n];for(int x=0;x<n;x++)array[x]=b[x];}void MOVE::exchange(){float a=0;int i,*p1,*p2;for(i=0;i<n;i++)a+=array[i];a/=n;cout<<"The average of the number is:"<<a<<endl;p1=p2=&array[0];for(i=0;i<n;i++){if(array[i]<*p1)p1=&array[i];if(array[i]>*p2)p2=&array[i];}i=*p1;*p1=*p2;*p2=i;}void MOVE::print(){int i,num=1;for(i=0;i<n;i++){cout<<array[i]<<'\t';if(num%5==0)cout<<'\n';num++;}}MOVE::~MOVE(){delete []array;}void main(){int b[]={21,65,43,87,12,84,44,97,32,55},n=10;MOVE ff(b,n);ff.exchange();ff.print();}运行结果5.定义一个类Palindrome,实现绝对回文数。

设计一个算法实现对任意整型数字判断是否为绝对回文数。

所谓绝对回文数,是指十进制数和二进制数均对称的数。

具体要求如下:(1)私有数据成员int n:整型数字。

int y:标记是否为回文数。

(2)公有成员函数Palindrome (int x) :构造函数,根据x参数初始化数据成员n,y初始化为0。

void huiwen () :判断数n是否为绝对回文数。

void show( ) :若该数为回文数,则在屏幕显示。

(3)在主程序中定义int a,由键盘输入数字。

定义一个Palindrome类对象p,用a初始化p,完成对该类的测试。

程序源代码#include<iostream.h>class palindrome{int n;int y;public:palindrome(int x);void huiwen();void show();};palindrome::palindrome(int x){n=x;y=0;}void palindrome::huiwen(){int b[20],c[50],m,i,p=0,t1=1,t2=1;m=n;for(i=0;m>0;m/=10){p++;b[i]=m%10;i++;}for(i=0;i<p;i++)if(b[i]!=b[p-i-1]){t1=0;break;}for(i=0,m=n,p=0;m>0;m/=2){p++;c[i]=m%2;i++;}for(i=0;i<p;i++)if(c[i]!=c[p-i-1]){t2=0;break;}if(t1&&t2)y=1;}void palindrome::show(){if(y==0)cout<<"该数不是回文数!"<<endl;else cout<<"该回文数是:"<<n<<endl;}void main(){int a;cout<<"输入a的值"<<endl;cin>>a;palindrome p(a);p.huiwen();p.show();}运行结果:6.定义一个字符串类String,实现判断该字符串是否为回文字符串。

相关文档
最新文档