六年级科学的实验题四的第六小题,用C,不用C++

C/C++程序设计教程_PDF图书下载_龚沛曾 编_在线阅读_PDF免费电子书下载_第一图书网
C/C++程序设计教程
出版时间:2004-3&&出版社:高等教育出版社&&作者:龚沛曾 编&&页数:345&&Tag标签:无&&
  本书是根据教育部《关于进一步加强高校计算机基础教学的意见》的教学基本要求为普通高等学校非计算机专业大学生编写的教材。  随着计算机应用的不断深入,对大学生的程序设计能力有了更高的要求。大学生不仅要能够编写面向过程的结构化程序,而且要掌握利用面向对象程序设计技术在像Visual C++这样的可视化开发环境中开发windows应用程序的能力。作者在多年的C语言教学实践中发现存在三个问题:一是若在Turbo C环境中讲授C语言,学生还需要学习C++,还不能直接利用Visual C++开发目前流行的图形用户界面程序;二是内容多,课时少,目前,许多高等院校由于课时所限,不能把C/C++程序课程分成C语言程序设计、C++程序设计和Visual C++程序设计三门课程来讲;三是重程序设计语言的基本概念和基础知识,而轻程序设计能力的培养。为此,作者对C/C++程序设计课程进行了大胆的改革和尝试,对实际应用中很少使用的内容大胆地进行淡化或删除,并将传统的面向过程程序设计、现代的面向对象程序设计和MFC编程三部分内容有机地结合成一门课程。希望学生通过该课程的学习,在以后的学习或工作中,通过补充适当的知识就能够使用Visual C++编程解决各自专业领域的计算机应用问题。  本书共9章,分为3个部分:前五章和第九章是传统的面向过程程序设计,包括基本概念和基础知识、结构化程序设计、数组、函数、文件等,也可以说是传统的C语言内容,这是程序设计的基础;第六章是介绍面向对象程序设计基础知识,内容包括类和对象、继承和派生、多态性等;第七、八章介绍了Visual C++中MFC编程基础知识,包括开发基于对话框和文档/视图结构的应用程序。  对于本书的学时数,作者建议课堂教学36~54学时,上机实践36~54学时。为了克服内容多、课时少的矛盾,作者建议在课堂教学上强调培养学生的程序设计能力,语法问题让学生课后自学,对于复杂的问题通过案例教学化繁为简。  本书由龚沛曾、杨志强主编。第一章、第七章、第八章由杨志强编写;第二章由雷新贤编写;第三章、第四章由龚沛曾编写;第五章由许兰兰编写;第六章、第九章由高枚编写。相应的实验由各自完成。
  《计算机基础课程系列教材:C/C++程序设计教程(VisualC++环境)》是根据教育部高等学校非计算机专业计算机基础课程教学指导分委员会提出的《关于进一步加强高校计算机基础教学的意见》中有关大学计算机基础课程教学要求编写的。《计算机基础课程系列教材:C/C++程序设计教程(VisualC++环境)》主要内容包括C/C++概述,基本数据类型、运算符和表达式,结构化程序设计,数组,函数,面向对象程序设计基础,基于对话框的应用程序,文档/视图结构应用程序,C++的I/O流库,等等,并针对课程内容设置了11个实验,使学生通过实验巩固所学知识。《计算机基础课程系列教材:C/C++程序设计教程(VisualC++环境)》力图把传统的面向过程的内容、现代的面向对象的内容、图形用户界面编程与应用程序开发内容三部分有机地结合在一起,使读者通过对《计算机基础课程系列教材:C/C++程序设计教程(VisualC++环境)》的学习,能够掌握开发小型系统的基本知识。  《计算机基础课程系列教材:C/C++程序设计教程(VisualC++环境)》可作为高等院校各专业的程序设计课程教材,也可作为培训教材或自学教材。
  龚沛曾,女,1953年8月生,1982年1月毕业于华东理工大学自控系。现为同济大学计算机系教授,兼任上海市计算机基础教育协会副理事长、全国高校计算机教育研究会副会长。  长期从事计算机基础教学与研究工作,主编的《Visual Basic程序设计教程》、《计算机文化基础》获上海市优秀教材一、二等奖;主讲的“大学计算机基础”、“Visual Basic程序设计”分别评为上海市、国家精品课程;主持的教改项目年获上海市教学成果一等奖、国家级教学成果二等奖;享受国务院特殊津贴、获上海市优秀教育工作者和上海市高校教学名师奖等荣誉称号。  杨志强,1964年12月生,江苏太仓人。1985年毕业于南京大学数理逻辑专业,现为同济大学计算机系副教授、工学博士。长期从事计算机基础教学工作,先后主讲了大学计算机基础、C/C++程序设计、Visual Basic程序设计及数据库技术及应用等课程,参与编写了16部教材,先后获同济大学优秀青年教师、上海市育才奖等荣誉称号。
第一篇 教学篇第一章 C/C++概述1.1 C/C++发展简史1.2 简单的C/C++程序实例1.3 基本语法成分1.4 数据的输入和输出1.4.1 标准输出设备cout1.4.2 标准输人设备cin1.5 编译预处理1.5.1 文件包含1.5.2 宏定义1.6 Visual C++简介1.6.1 Visual C++集成开发环境1.6.2 简单C/C++程序的编写和运行过程1.6.3 程序调试习题第二章 基本数据类型、运算符和表达式2.1 数据类型2.1.1 数据类型分类2.1.2 基本类型数据的存储2.2 变量和常量2.2.1 变量2.2.2 常量2.3 运算符和表达式2.3.1 运算符2.3.2 表达式2.3.3 数据类型转换2.3.4 内部函数2.4 指针2.4.1 指针概念的引入2.4.2 指针运算2.4.3 new和delete 2.5 typedef语句2.6 应用举例习题第三章 结构化程序设计3.1 顺序结构3.1.1 表达式语句3.1.2 空语句3.1.3 复合语句3.2 选择结构3.2.1 if语句3.2.2 switch语句3.3 循环结构3.3.1 while语句3.3.2 do-while语句3.3.3 for语句3.3.4 循环的嵌套3.4 其他控制语句3.4.1 goto语句3.4.2 break语句和continue语句3.5 应用举例习题第四章 数组4.1 一维数组4.1.1 引例4.1.2 一维数组的定义、存储和初始化4.1.3 数组元素的引用和基本操作4.1.4 数组排序4.2 二维数组4.2.1 二维数组的定义和初始化4.2.2 二维数组的基本操作4.3 字符串4.3.1 字符数组4.3.2 CString类4.4 指针和数组4.4.1 指针和一维数组4.4.2 指针和二维数组4.4.3 指针和字符串4.5 程序举例习题第五章 函数5.1 函数的定义、调用和说明5.1.1 引例5.1.2 函数定义5.1.3 函数调用5.1.4 函数说明5.2 函数间参数传递5.2.1 传值参数5.2.2 引用参数5.2.3 指针参数5.2.4 数组名作参数5.2.5 对象参数5.3 递归函数5.3.1 递归的概念5.3.2 递归函数和递归调用5.3.3 递归调用的执行过程5.4 函数参数缺省5.5 函数重载5.6 函数模板5.7 作用域与存储类别5.7.1 自动变量5.7.2 静态局部变量5.7.3 全局变量5.8 程序举例习题第六章 面向对象程序设计基础6.1 面向对象程序设计概述6.1.1 面向对象程序设计的产生6.1.2 面向对象的基本概念6.1.3 面向对象程序设计的特点6.2 结构6.2.1 结构定义6.2.2 结构变量的引用6.3 类和对象6.3.1 类的定义6.3.2 对象的定义6.3.3 对象的初始化6.3.4 常对象和常成员6.3.5 静态成员6.3.6 友元函数6.4 继承和派生6.4.1 基类和派生类6.4.2 单继承6.5 多态性6.5.1 函数重载6.5.2 运算符重载6.5.3 虚函数6.5.4 抽象类6.6 程序举例习题第七章 基于对话框的应用程序7.1 Windows编程基础7.1.1 Windows API编程7.1.2 MFC编程7.2 基于对话框的应用程序7.2.1 简单应用程序实例7.2.2 对话框应用程序框架7.3 静态文本框、命令按钮和编辑框7.3.1 静态文本框7.3.2 命令按钮7.3.3 编辑框7.4 框架、单选按钮和复选框7.4.1 框架7.4.2 单选按钮7.4.3 复选框7.5 列表框和组合框7.5.1 列表框7.5.2 组合框7.6 滚动条7.7 程序举例习题第八章 文档/视图结构应用程序8.1 文档/视图结构8.2 图形与文字输出8.2.1 简单的文字和图形输出8.2.2 画笔和画刷8.2.3 位图处理8.3 鼠标和键盘消息处理8.3.1 鼠标消息处理8.3.2 键盘消息处理8.4 定时器8.5 对话框8.5.1 文件对话框8.5.2 颜色对话框8.5.3 字体对话框8.5.4 调用自定义对话框8.6 菜单设计8.7 程序举例习题第九章 C++的I/O流库9.1 流9.1.1 I/O流类9.1.2 标准输出流9.1.3 标准输入流9.2 磁盘文件9.2.1 文件的打开和关闭9.2.2 文本文件的读/写9.2.3 二进制文件的读/写9.2.4 随机访问文件9.3 程序举例习题第二篇 实验篇实验一 C/C++概述实验二 顺序结构程序实验三 选择控制结构实验四 循环控制结构实验五 数组和指针实验六 函数实验七 对象和类实验八 继承和多态性实验九 基于对话框的应用程序实验十 文档视图结构应用程序实验十一 C++的I/O流参考文献
  1972年,为了编写UNIX操作系统,美国贝尔实验室的D.M.Ritchie设计并实现了C语言。经过3年的改进和完善,C语言走出了实验室,成为目前应用最广泛的程序设计语言之一。C语言在其30多年的发展史上涌现了众多的版本,但普遍遵守两个重要的标准:一是B.W.Kernighan和D.M.Ritchie于1978年合著的《The C Programming Language》,称为老标准;二是美国国家标准化协会(ANSI)于1983年制定的新标准,称为ANSI C。1988年,B.W.Kernighan和D.M.Ritchie根据ANSI C重新修订了《The C Programming Language》,现已成为C语言的经典名著。两人由于在C语言和UNIX操作系统上的突出贡献,于1983年共同获得了计算机科学领域的最高奖——图灵奖。  当C语言程序达到一定的规模(代码达到25000行以上)后,维护和修改显得相当困难。为了满足管理程序复杂性的需要,贝尔实验室的Bjame Stroustrup博士于1979年开始对C语言进行了改进和扩充,并从Simula 67引入了面向对象程序设计的内容,最初取名为“带类的C”,1983年改名为C++。在经历了3次重大修订后,于1994年制定了标准C++草案,后又经不断完善,成为目前的C++,并逐渐取代C,如图1.1.1所示。  C++具有以下突出的优点:  (1)C++是C语言的超集。C++由两部分组成:一是过程性语言部分,这部分与C语言无本质区别,一般遵守ANSI C标准;二是类和对象部分,这是C语言所没有的,它是面向对象程序设计的主体。  (2)C++充分保持了与C语言的兼容性,绝大多数C语言程序可以不经修改直接在C++环境中运行。  (3)C++仍然支持面向过程的程序设计,是一种理想的结构化程序设计语言,又几乎全部包含了面向对象程序设计的特征。  (4)C++继承了C语言的高效率、灵活性等优点。用Bjarne Stroustrup博士的话来说,C++使程序“结构清晰、易于扩展、易于维护而不失效率。
图书标签Tags
评论、评分、阅读与下载
用户评论&(总计0条)
250万本中文图书简介、评论、评分,PDF格式免费下载。
第一图书网() @ 2016;classCBase1;;public:;CBase1();{x=0;cout&&&调;CBase1(inta);{x=1;cout&&&调;~CBase1(){cout&&&q;};;classCBase2;;public:;CBase2();
class CBase1
{x=0 ; cout&&&调用构造函数CBase1( )!\n&;}
CBase1( int a)
{x=1;cout&&&调用构造函数CBase1( int )!\n&;}
~CBase1( ){cout&&&调用析构函数~CBase1( )!\n&;}
class CBase2
{y=0 ;cout&&&调用构造函数CBase2( )!\n&;}
CBase2(int a)
{y=cout&&&调用构造函数CBase2(int )!\n&;}
~CBase2(){cout&&&调用析造函数~CBase2( )!\n&;}
A () {x=0 ; cout&&&调用构造函数A( )!\n&;}
A(int a){x=a;cout&&&调用构造函数A(int )!\n&;}
~A(){cout&&&调用析构函数~A()!\n&;}
class CDerived:public CBase1, virtual public CBase2
CDerived()
{cout&&&调用构造函数CDerived( )!\n&;}
CDerived(int x,int y ,int z):a(x),CBase1(y),CBase2(z)
{cout&&&调用构造函数CDerived(int,int )!\n&;}
~CDerived(){cout&&&调用析造函数~CDerived( )!\n&;}
int main()
调用构造函数CBase2( )!
调用构造函数CBase1( )!
调用构造函数A( )!
调用构造函数CDerived( )!
调用构造函数CBase2(int )!
调用构造函数CBase1( int )!
调用构造函数A(int )!
调用构造函数CDerived(int,int )!
调用析造函数~CDerived( )!
调用析构函数~A()!
调用析构函数~CBase1( )!
调用析造函数~CBase2( )!
main()函数结束!
调用析造函数~CDerived( )!
调用析构函数~A()!
调用析构函数~CBase1( )!
调用析造函数~CBase2( )!
水果超市管理系统―4―继承与派生
水果超市管理系统采用面向对象的程序设计方法开发,继承机制是面向对象程序设计最重要的特征之一,在水果超市管理系统的设计过程中运用继承方法由已有类派生出新类,实现了代码重用。
水果超市的水果分为正价水果和特价水果,它们都是具体的水果,具有水果的特征和属性。在上次实验中我们实现了水果类Fruit的定义,现在可以通过继承方法由水果类派生出“正价水果类(RegularFruit)”和“特价水果类(DiscountFruit)”。
“正价水果类”RegularFruit由“水果类”Fruit派生得来。除了继承水果类原有的成员外,
还新添加了正常售价数据成员,以及相应的构造函数和修改、提取正常售价的成员函数,并对继承自基类的显示水果信息的函数DispFruit()进行了重写。
“特价水果类”DiscountFruit由“水果类”Fruit派生得来。特价水果类除了继承水果类原有的成员外,还新添加了原价和折扣价两个数据成员,以及相应的构造函数和显示、修改、提取折扣价的成员函数等,并对继承自基类的显示水果信息的函数DispFruit()进行了重写。
为了进行验证,设计如下主函数,在主函数部分进行验证。
int main()
RegularFruit r1(101,&国光苹果&,1.5,2.0),r2;
r1.DispFruit();
r2.SetFruitName(&玫瑰香葡萄&);
r2.SetFruitNumber(102);
r2.SetPurchasePrice(3.0);
r2.SetRegularPrice(3.5);
r2.DispFruit();
DiscountFruit d1(201,&巨峰葡萄&,1.8,2.5,2.0),d2;
d1.DispFruit();
d2.SetFruitName(&黄金帅苹果&);
d2.SetFruitNumber(202);
d2.SetPurchasePrice(1.2);
d2.SetOriginalPrice(1.8);
d2.SetDiscountPrice(1.5);;
d2.DispFruit();
在主函数验证部分分别调用正价水果类重载的构造函数创建函数创建有参和无参的两个对象r1和r2,调用特价水果类重载的构造函数创建有参和无参的对象d1和d2进行验证。派生类对象既可以调用派生类中新声明的公有成员,也可以调用从基类继承来的公有成员。当通过派生类对象r1和r2调用DispFruit()函数时,执行的是派生类RegularFruit中重写的函数,从而可以精确输出正价水果的属性。通过d1和d2调用DispFruit()函数时,执行的是DiscountFruit类中重写的函数,因此输出的是特价水果的属性。
正价水果编号:101,名称:国光苹果,售价:2
正价水果编号:102,名称:玫瑰香葡萄,售价:3.5
特价水果编号:201,名称:巨峰葡萄,原价:2.5,现价:2
特价水果编号:202,名称:黄金帅苹果,原价:1.8,现价:1.5
登山人选问题――深度优先搜索(选作题)
攀登一座高山,假定匀速前进,从山脚登到山顶需走N天,下山也需N天。山上没有水和食品,给养要靠登山队员携带,而每个队员所携带的给养量要少于他登顶再返回山脚所消耗的给养量。因此,一定要组成一个登山队,在多人支持的情况下,保证有一个登顶。
现在登山俱乐部有P个人待选,我们将P个人依次编号为k=1,2,...,P,令E[k]表示编号为k的人每日消耗的给养量,M[k]表示编号为k的人最多可携带的给养量。登山计划要求登山队所有成员同时出发,其中一些人分别在启程若干天后返回,最终保证出发N天后至少有一人登顶,出发2N天后所有人都返回山脚,无人滞留山上。 编程要求:用键盘输入天数N(N&10)、俱乐部人数P(P&10),之后依次输入E[k]和M[k],k=1,2,...,P,分别输出两个登山组队计划。
计划1:要求参加登山的人数最少,在满足这一条件之下消耗的总给养量最少。 计划2:要求消耗的总给养量最少(人数不限)。
有多少队员参加登山,消耗的总给养量,在出发时每人分别携带多少给养,每人分别在出发几天后返回(几天后开始下山)。题目数据保证有解。
计划1中由2个人组队,分别携带18和24的给养量,分别在出发6天和3天后返回。计划2中由3个人组队,3人分别携带18、17和3的给养量,分别在出发后6天、3天和1天之后返回。
1 2 2 2 3 3
7 8 17 18 22 25
三色二叉树――二叉树(选做题)
一棵二叉树可以按照如下规则表示成一个由0、1、2组成的字符序列,我们称之为“二叉树序列S”:S=0表示该树没有子节点,S=1S1表示该树有一个子节点,S1为其子树的二叉树序列,S=2S1S2表示该树有两个子节点,S1和S2分别表示其两个子树的二叉树序列。例如一棵二叉树,根a有左右孩子bc,b有左孩子d,d有左右孩子ef,c有左孩子g,g有左孩子h。则表示为序列S=。
你的任务是要对一棵二叉树的节点进行染色。每个节点可以被染成红色、绿色或蓝色。并且,一个节点与其子节点的颜色必须不同,如果该节点有两个子节点,那么这两个子节点的颜色也必须不相同。给定一棵二叉树的二叉树序列,请求出这棵树中最多和最少有多少个点能够被染成绿色。
输入数据由多组数据组成。
每组数据仅有一行,不超过10000个字符,表示一个二叉树序列。
对于每组输入数据,输出仅一行包含两个整数,依次表示最多和最少有多少个点能够被染成绿色。
包含各类专业文献、高等教育、文学作品欣赏、幼儿教育、小学教育、中学教育、行业资料、外语学习资料、生活休闲娱乐、应用写作文书、C++题目实验四97等内容。 
 2012综合实验四-参考答案_其它课程_高中教育_教育专区。C++实验参考答案 ...二进制类(2)――运算符重载 a) 题目描述 在上一题的基础上,将 + 、 - ...  c++实验五 c++实验六 c++实验七 1/2 相关文档推荐 C实验四 3页 免费 C实验...( ); } 五、思考题将实验内容 1 中的 main 函数改成如下形式,程序的执行...  C++实验报告(四)基础题第一题(和以前类型一样,无分析) // 设计并测试一个名为 Rectangle 的矩形类,其属性为矩形的左上角与右下角 两个点的坐标,根据坐标能...  实验四_电脑基础知识_IT/计算机_专业资料。实验四 基于决策表的测试 决策表适合...Visual C++开发工具和 OFFICE 工具; 3.1.2 实验内容 题目一:电话号码问题 某城...  《C++程序设计实验》实验指导书实验四:运算符重载 实验目的: 1、掌握运算符重载的语法 2、了解 C++对运算符重载的限制 3、掌握重载运算符应该遵循的原则 4、在...  (系) 数学与计算科学学院 学号 课程 名称 C++程序设计 实验项目 名称
姓名 实验日期:2016 杰森 成绩 年 4 月 20 日 实验四 运算符重载 一 ,实验...  c++实验四实验报告 隐藏&& 实验四实验报告 1.实验目的及要求(1) 掌握单继承程序...??运行程序,观察运行结果是否正确且满足题意要求。 3.分析与思考实验内容(1)...  宁夏师范学院数学与计算机科学学院 《面向对象程序设计(C++)》实验报告实验序号: ...&&&} 【实验内容】 验证题目: 验证教材第8章习题1――4 #include&...  实验四 C++简单程序设计 简单程序设计一.实验目的⒈ 进一步熟悉 VC++6.0 的集成开发环境,掌握运行一个 C++程序的步骤(包括编辑、 编译、连接、运行和调试) 。⒉...40093人阅读
C++(166)
蓝桥杯真题
1.问题描述:奖券数目
有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。
虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(),
要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。
请提交该数字(一个整数),不要写任何多余的内容或说明性文字。
思路:5重循环,第一重为1-9,其余为0-9(这样就可以遍历1之间的全部数字),并且判断条件为每一个变量都不能为4。
结果:52488
#include &iostream&
int main()
int a,b,c,d,e;
int count1=0;
for(a=1;a&=9;a++)
for(b=0;b&=9;b++)
for(c=0;c&=9;c++)
for(d=0;d&=9;d++)
for(e=0;e&=9;e++)
if(a!=4&&b!=4&&c!=4&&e!=4&&d!=4)
cout&&count1&&
2.问题描述:星系炸弹
在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。
每个炸弹都可以设定多少天之后爆炸。
比如:阿尔法炸弹日放置,定时为15天,则它在日爆炸。
有一个贝塔炸弹,日放置,定时为1000天,请你计算它爆炸的准确日期。
请填写该日期,格式为 yyyy-mm-dd &即4位年份2位月份2位日期。比如:
请严格按照格式书写。不能出现其它文字或符号。
思路:此题,我没有编程,而是进行手算。已知当前日期为,定时为1000天,2015不是闰年,,日期为;2016年是闰年(能被4整除但不能被100整除),635-366=269,日期为;266不满一年,所以接下来按月做减法,11月30天,12月31天,1月31天,2月28天,3月31天,4月30天,5月31天,6月30天,7月31天,269-30-31-31-28-31-30-31-30=27,日期为;27-22=5,日期为;最后日期为。
3.问题描述:三羊献瑞
观察下面的加法算式:
& & & 祥 瑞 生 辉
& + & 三 羊 献 瑞
-------------------
& &三 羊 生 瑞 气
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
思路:看到此题,第一反应便是有多少个不同的字便用几重循环来控制,循环内的判断条件便是两个四位数的和等于一个五位数。
结果:1085
#include &iostream&
int main(int argc, char *argv[])
int a,b,c,d,e,f,g,h;//分别代表:祥,瑞,生,辉,三,羊,献,气
int sum1=0,sum2=0,sum=0;//分表代表: 祥 瑞 生 辉,三 羊 献 瑞, 三 羊 生 瑞 气
for(a=1;a&=9;a++)//从1开始,因为数字首位不能为0
for(b=0;b&=9;b++)
for(c=0;c&=9;c++)
for(d=0;d&=9;d++)
for(e=1;e&=9;e++)//从1开始,因为数字首位不能为0
for(f=0;f&=9;f++)
for(g=0;g&=9;g++)
for(h=0;h&=9;h++)
if(a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&a!=g&&a!=h
&& b!=c&&b!=d&&b!=e&&b!=f&&b!=g&&b!=h &&
c!=d&&c!=e&&c!=f&&c!=g&&c!=h && d!=e&&d!=f
&&d!=g&&d!=h && e!=f&&e!=g&&e!=h && f!=g&&f!=h
sum1=a*1000 + b*100 + c*10 +
sum2=e*1000 + f*100 + g*10 +
sum = e*10000 + f*1000 + c*100 + b*10 +
if(sum1+sum2 == sum)
cout&&e&&f&&g&&b;
5.问题描述:九数组分数
1,2,3...9 这九个数字组成一个分数,其值恰好为1/3,如何组法?
下面的程序实现了该功能,请填写划线部分缺失的代码。
#include &stdio.h&
void test(int x[])
int a = x[0]*1000 + x[1]*100 + x[2]*10 + x[3];
int b = x[4]*10000 + x[5]*1000 + x[6]*100 + x[7]*10 + x[8];
if(a*3==b) printf(&%d / %d\n&, a, b);
void f(int x[], int k)
for(i=k; i&9; i++){
{t=x[k]; x[k]=x[i]; x[i]=t;}
f(x,k+1);
_____________________________________________ // 填空处
int main()
int x[] = {1,2,3,4,5,6,7,8,9};
注意:只填写缺少的内容,不要书写任何题面已有代码或说明性文字。
思路:此题,请原谅我是蒙的,没想到对了。
结果:{t=x[k]; x[k]=x[i]; x[i]=t;}
6.问题描述:加法变乘法
我们都知道:1+2+3+ ... + 49 = 1225
现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015
1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015
就是符合要求的答案。
请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。
注意:需要你提交的是一个整数,不要填写任何多余的内容。
思路:首先将1-49的和分为5部分,sum1,pro1,sum2,pro2,sum3,sum代表和,pro代表乘积。sum1就有3种情况:i*2;2*3;3*4,所以sum1=0;sum1=1;sum1=(1+2)*2/2=3。pro1永远只有一种情况,就是pro1=i*(i+1)。sum2也有三种情况,j-i=2(即两个*之间只有一个+);j-i=3(即两个*之间有2个+);j-i&3(即两个*之间有&2个+),所以sum2=0;sum2=j-1,;sum2=(i+j+1)*(j-i-2)/2。pro2永远只有一种情况,便是j*(j+1)。sum3我便没有考虑,默认后面的项数永远&2,sum3=(j+51)*(48-j)/2。(其实sum3也可以分为,当最后没有项,只有1项,&1项;则sum3=0,;sum3=49;sum3=(j+51)*(48-j)/2)用i和j控制两重循环。
结果:16 &(共两种情况10,27;16,24)
#include &iostream&
int main()
int i=0,j=0;
int sum1=0,sum2=0,sum3=0;
int pro1,pro2;
for(i=1;i&=46;i++)//此处i的最大值应为46,但是到到48也没错误
if(i!=1 && i!=2)
sum1=i*(i-1)/2;//sum1 = (1+i-1)*(i-1-1+1)/2;
pro1 = i*(i+1);
for(j=i+2;j&=48;j++)//因为是两个不相邻的+号改为*号,所以j最近也要从i+2算起
if(j-i&=2)
pro2=j*(j+1);
sum3=(j+51)*(48-j)/2;//sum3=(j+2+49)*(49-j-2+1)/2;
else if(j-i==3)
pro2=j*(j+1);
sum3=(j+51)*(49-j)/2;//sum3=(j+2+49)*(49-j-2+1)/2;
sum2=(i+j+1)*(j-i-2)/2;//sum2=(i+2+j-1)*(j-1-i-2+1)/2;
pro2=j*(j+1);
sum3=(j+51)*(48-j)/2;//sum3=(j+2+49)*(49-j-2+1)/2;
if(sum1 + pro1 + sum2 + pro2 + sum3 == 2015)
cout&&i && & &&&j&&
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:696837次
积分:7696
积分:7696
排名:第2134名
原创:183篇
评论:74条
(1)(2)(10)(1)(5)(88)(75)(1)

我要回帖

更多关于 拍照搜题不用下载版 的文章

 

随机推荐