第二章_基本控制结构程序设计习题解答

合集下载

控制工程基础第二章参考答案

控制工程基础第二章参考答案

第二章 参考答案2-1 (1) 不是 (2) 是 (3) 不是 (4) 不是 2-2 (a))()()(3)(2222t u t u dtt du RC dt t u d C R i o o o =++ (b) )()()()()()()()(2211222121222111222121t u dtt du C R C R dt t u d C C R R t u dt t du C R C R C R dt t u d C C R R i i i o o o +++=++++ (c ) )()()()()()(33221312221t u R dtt du C R R t u R R dt t du C R R R R R i i o o +=++++(d))()()()()()()()(1211222121211211222121t u dtt du C R C R dt t u d C C R R t u dt t du C R C R C R dt t u d C C R R i i i o o o +++=++++ (e))()()()()()()()(221222121211222222121t u dtt du R C C dt t u d C C R R t u dt t du C R C R C R dt t u d C C R R i i i o o o +++=++++ (f) )()()()()()()(22121221t u R dtt du L t u R R dt t du L C R R dt t u d CL R i i oo o +=++++ 2-3 (a) )]()([)()()(23213121t u R dtt du C R R t u R dt t du C R R R R i i o o +=++-(b) )()()()(4141232022213210t u R R t u R R dt t du C R R R dt t u d C C R R R R i o o o -=++ (c))]()()([)(32321t u R R dtt du C R R t u R i i o ++=-(d) )()()()()(221122212121t u dt t du C R C R dt t u d C C R R dt t du C R i i i o +++=- (e) )()()()(2412222142t u dtt du C R C R dt t u d C C R R o o o +++ )}()(])([)({21213224223221432132t u dtt du R R C C R R C R dt t u d R R C C R R R R R R i i i +++++++=- 2-4 (a) dt t dx f dt t dx f f dt t x d m i o o )()()()(12122=++ (b) dt t dx f k t x k k dt t dx f k k i o o )()()()(12121=++ (c) )()()()()(121t x k dt t dx f t x k k dt t dx f i i o o +=++ (d) )()()()()()(112121t x k dtt dx f t x k k dt t dx f f i i o o +=+++2-5 (a))(1)()()()(1)()()(2112212221211*********t u C C dt t du C R C R dt t u d R R t u C C dt t du C R C R C R dt t u d R R i i i o o o +++=++++ (b))()()()()()()()(2112212221211211212221t x k k dtt dx k f k f dt t x d f f t x k k dt t dx k f k f k f dt t x d f f i i i o o o +++=++++ 由(a)(b)两式可以看出两系统具有相同形式的微分方程,所以(a)和(b)是相似系统。

C语言程序设计习题集(有答案)

C语言程序设计习题集(有答案)

高等教育自学考试C语言程序设计(二)课程代号(05772)同步练习题班级学号姓名二O 一六年三月目录第一章C语言概述第二章基本数据类型第三章控制结构第四章运算符和表达式第五章函数第六章数组第七章字符与字符串第八章变量类别与编译预处第九章指针第十章结构体、共用体和枚举类型第十一章文件第一章C语言概述一、单项选择题1.在计算机上可以直接运行的程序是()。

A.高级语言程序B.汇编语言程序C.机器语言程序D.C语言程序2. 一个C语言程序是由()A.若干函数组成B.若干过程组成C.若干主程序组成D.若干子程序组成3. C语言不具有的特点是()A.具有结构化的控制语句B.数据类型丰富C.语法限制不太严格,程序设计自由度大D.在可移植性上,C语言比其他语言差4. 以下叙述不正确的是()A.一个C语言程序可由一个或多个函数组成B.一个C语言程序必须包含一个主函数C.C语言程序的基本组成单位是函数D.在C语言程序中,注释说明只能位于一条语句的后面5. 以下叙述正确的是()A.C语言比其他语言高级B.C语言可以不用编译就能被计算机识别和执行C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D.C语言出现的最晚,所以具有其他语言的一切优点二、填空1. 计算机语言的发展经过了、和等阶段。

2. C语言既适合编写,也适合编写应用软件。

标准答案一、单项选择题CADDC二、填空1. 机器语言,汇编语言,高级语言2. 系统软件第二章基本数据类型一、单项选择题1.正确的C语言用户自定义标识符是()A.printB.floatC.when?D.random%22.属于C语言基本数据类型的是( )A.指针型B.无符号整型C.数组型D.结构型3.C语言的长整型数值在计算机中占用的字节个数是( )A.1B.2C.3D.44.C语言中,″\x3d″在内存中占用的字节数是( )A.1B.2C.4D.55.下列关于C语言的叙述错误的是( )A. 英文字母大小写不加以区分B. 不同类型的变量可以出现在同一个表达式中C. 在赋值表达式中赋值号两边的类型可以不同D. 某些运算符在不同的场合可以有不同的含义6.下列转义字符中错误的是( )A. ′\000′B. ′\14′C. ′\x111′D. ′\2′7.下列标识符中,不是C语言保留字的是( )A. charB. whileC. minD. default8.下列保留字中用于构成循环结构的是()A.ifB.whileC.switchD.default9. 数据-324在二进制文件和文本文件中所占的字节数分别是()A.2,2B.2,4C.4,2D.4,410. 请选出可以作为C语言用户标识符的一组标识符()A.void, define, WORD B.A3_B3, _123, abcC.FOR, -abc, Case D.2a, Do, Sizeof11.下列运算符优先级最高的是()A.关系运算符B.赋值运算符C.算术运算符D.逻辑运算符12. sizeof(float)是()A.一种函数调用B.一个不合法的表示形式C.一个整型表达式D.一个浮点表达式13. 下列叙述不正确的是()A.一个C语言程序可由一个或多个函数组成B.一个C语言程序必须包含一个main函数C.C语言程序的基本组成单位是函数D.在C语言程序中,注释说明只能位于一条语句的后面14. 编译C语言程序时,程序中的注释部分将()A.不参加编译,也不会出现在目标程序中B.参加编译,但不会出现在目标程序中C.不参加编译,但会出现在目标程序中D.参加编译,并会出现在目标程序中15. 下列字符串常量不正确的是()A.'abc' B."12'12" C."0" D." "16. 下列4个选项中,均是合法整型常量的是()A.160 -0xffff 011B.-0xcdf 01ª0xeC.-01 986,012 0668D.-0x48a 2e5 0x17. 以下选项中不属于C语言类型的是()A.signed short int B.unsigned long intC.unsigned int D.long short18. 数值029是一个()A.八进制数B.十六进制数C.十进制数D.非法数19. 在C语言中,要求运算数必须是整型的运算符是()A./ B.++ C.!=D.%20. 当c的值不为0时,以下能将c的值赋给变量a,b 的是()A.c=b=a B.(a=c) || (b=c)C.(a=c) && (b=c) D.a=c=b二、填空1. 表示空类型的保留字是_____________。

东南大学四系C++作业━━第 2 章(1)━━流程控制语句答案

东南大学四系C++作业━━第 2 章(1)━━流程控制语句答案

流程控制语句【学习要点】1.掌握算法描述的三种基本结构。

2.掌握if—else条件语句及其应用,掌握if语句的嵌套结构。

3.掌握switch开关语句及其应用,掌握break在switch语句中的作用。

4.掌握while循环语句及其应用。

5.掌握do—while循环语句及其应用。

6.掌握for循环语句及其应用。

7.掌握循环语句的嵌套结构.8.掌握break语句、continue语句在循环结构中的作用.9.掌握return语句、goto语句、exit()函数、abort()函数的作用及其应用。

—-—-—--—-————-————---———-—--—-———-—-—--———-————-—-—---—-—-———-—---———-—--———-————-———--—--——---——--——-—---———-——---—---——---—-—---—-—------———---【例题分析】1.若int x=3,执行以下循环语句后,输出的结果是______。

do cout 〈< (x—=2)<〈‘\t' ;while ( !(--x));A.1B.1 -2C.1 -1D.死循环【答案】B【解析】先执行一次do后面的循环体语句,遇到while,判断下次循环是否进行,即求解while后面表达式的值,若表达式的值为true,则再次回到do … ;若表达式的值为false ,则跳出整个do—while语句。

2.若int x=10,执行以下switch语句后,x的值是______。

switch (x ) {case 9:x+=1;case 10: x+=1;case 11:x+=1;defaule: x+=1; }A.10B.11C.12D.13【答案】D【解析】从上往下在case分支的常量表达式值中,寻找与之值相等的分支作为执行入口,并从该分支的语句序列开始执行下去,其后的每个case分支(包括default分支)中的语句序列都有可能执行到,直到遇到break语句才跳出switch语句,或遇到switch语句的结束括号“ }”为止。

《C语言程序设计教程》第三版课后习题参考答案

《C语言程序设计教程》第三版课后习题参考答案

《C语言程序设计教程》第三版课后习题参考答案C语言程序设计教程第三版课后习题参考答案第一章:C语言概述1.1 C语言的特点答案:C语言是一种通用的、面向过程的程序设计语言,具有高效、简洁、灵活等特点。

它提供了丰富的程序设计元素和功能,适用于各种不同的应用领域。

1.2 C语言程序的基本结构答案:C语言程序由预处理指令、函数声明、函数定义、变量声明和语句组成。

其中,预处理指令用来引入头文件或定义宏,函数声明用来声明函数的名称和参数,函数定义用来实现函数的功能,变量声明用来声明变量的类型和名称,语句用来表达具体的计算过程。

1.3 C语言的数据类型答案:C语言提供了多种数据类型,包括基本类型(整型、浮点型、字符型等)和派生类型(数组、指针、结构体等)。

每种数据类型在内存中占据一定的存储空间,并具有特定的取值范围和操作规则。

1.4 C语言的运算符和表达式答案:C语言支持各种运算符和表达式,例如算术运算符(+、-、*、/等)、关系运算符(>、<、==等)、逻辑运算符(&&、||、!等)等。

通过运算符和表达式可以进行各种数值计算和逻辑判断。

第二章:基本数据类型与运算2.1 整型数据类型答案:C语言提供了不同长度的整型数据类型,包括有符号整型(int、long等)和无符号整型(unsigned int、unsigned long等)。

整型数据类型可以表示整数值,并具有不同的取值范围。

2.2 浮点型数据类型答案:C语言提供了浮点型数据类型(float、double等),用来表示带小数部分的实数值。

浮点型数据可以表示较大或较小的数值,并具有一定的精度。

2.3 字符型数据类型答案:C语言提供了字符型数据类型(char),用来表示单个字符。

字符型数据可以用于表示各种字符(包括字母、数字、符号等)。

2.4 布尔型数据类型答案:C语言不直接支持布尔型数据类型,但可以使用整型数据类型来表示布尔值(0表示假、非零表示真)。

C语言程序设计第五版谭浩强课后答案(第二章答案)

C语言程序设计第五版谭浩强课后答案(第二章答案)

C语⾔程序设计第五版谭浩强课后答案(第⼆章答案)⽬录1. 什么是算法?试从⽇常⽣活中找3个例⼦,描述它们的算法2. 什么叫结构化的算法?为什么要提倡结构化的算法?3. 试述3种基本结构的特点,请另外设计两种基本结构(要符合基类结构的特点)。

4. ⽤传统流程图表⽰求解以下问题的算法。

5. ⽤N-S图表⽰第4题中各题的算法6. ⽤伪代码表⽰第4题中各题的算法7. 什么叫结构化程序设计?它的主要内容是什么?8. ⽤⾃顶向下、逐步细化的⽅法进⾏以下算法的设计:1. 什么是算法?试从⽇常⽣活中找3个例⼦,描述它们的算法算法:简⽽⾔之就是求解问题的步骤,对特定问题求解步骤的⼀种描述。

⽐如⽣活中的例⼦:考⼤学⾸先填报志愿表、交报名费、拿到准考证、按时参加考试、收到录取通知书、按照⽇期到指定学校报到。

去北京听演唱会⾸先在⽹上购票、然后按时坐车到北京,坐车到演唱会会场。

把⼤象放进冰箱先打开冰箱门,然后将⼤象放进冰箱,关冰箱。

2. 什么叫结构化的算法?为什么要提倡结构化的算法?结构化算法:由⼀些顺序、选择、循环等基本结构按照顺序组成,流程的转移只存在于⼀个基本的范围之内。

结构化算法便于编写,可读性⾼,修改和维护起来简单,可以减少程序出错的机会,提⾼了程序的可靠性,保证了程序的质量,因此提倡结构化的算法。

3. 试述3种基本结构的特点,请另外设计两种基本结构(要符合基类结构的特点)。

结构化程序设计⽅法主要由以下三种基本结构组成:顺序结构:顺序结构是⼀种线性、有序的结构,它依次执⾏各语句模块选择结构:选择结构是根据条件成⽴与否选择程序执⾏的通路。

循环结构:循环结构是重复执⾏⼀个或⼏个模块,直到满⾜某⼀条件位置重新设计基本结构要满⾜以下⼏点:只有⼀个⼊⼝只有⼀个出⼝结构内的每⼀部分都有机会执⾏到结构内不存在死循环因此给出以下复习结构:while型和until型循环复合以及多选择结构4. ⽤传统流程图表⽰求解以下问题的算法。

c#程序设计教程课后习题完全版

c#程序设计教程课后习题完全版

C#程序设计教程(第2版)课后习题完全版(总9页)本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.MarchC#复习较完全版第一章.Net与C#一、选择题是一种运行环境#语言源代码文件的后缀名为CS3.构建桌面应用程序需要.NET提供的类库是Windows Form4.与 C++等语言相比,C#中增加的一个类成员访问修饰符是 internal#中导入某一命名空间的关键字using#中程序的入口方法名是 Main……二、简答题1.简述C#、CLR和.NET之间的关系答:.NET是一个运行时平台,CLR是.NET框架的底层。

C#是.NET的核心开发语言2.简述C#语言的主要特性答:简单性(无指针);现代性(异常处理跨语言);面向对象(封装,继承和多态);类型安全性;版本处理技术;兼容性;灵活性3.什么是.NET框架简述.NET框架的结构P3 图1-14.简述.NET应用程序的编译过程。

答:各种.NET应用程序,通过被编译成中间语言(IL),经过JIT(Just In Time)编译器再次将IL编译形成机器码。

5.常用的命令按钮、标签、文本框等控件在哪个工具箱中答:“所有Windows窗体”。

#可以开发哪些类型的应用程序……7.简述控制台方式和Windows应用程序方式调试程序的优缺点,各自适合的场合答:一般来说控制台方式用于在dos状态下打印输出程序结果的,优点是程序执行效率较高,而windows应用程序一般用于开发窗体应用程序或者系统的,优点是功能比较强大,代码执行效率相对来说较慢。

第二章 C#编程基础一、选择题#中的值类型包括三种,它们是简单类型、枚举类型、结构类型。

(C)2.枚举类型是一组命名的常量集合,所有整型都可以作为枚举类型的基本类型,如果类型省略,则约定为int 。

(C)#的引用类型包括类、接口、数组、委托、object和string。

第二章_基本控制结构程序设计习题解答

第二章_基本控制结构程序设计习题解答

第二章基本控制结构程序设计习题一.基本概念与基础知识自测题2.1 程序阅读题2.1.1 设有说明:int a=3, b=100;下面的循环语句执行(1)次,执行后a、b的值分别为(2)、(3)。

while(b/a>5){if(b-a>25) a++;else b/=a;}解答:本题检查学生整除的概念。

跟踪:(1)14(2)17(3)1002.1.2 设有说明:int x,y,n,k;下面程序段的功能是备选答案中的(1),当n=10,x=10打印结果是(2)。

cin>>x>>n;k=0;do{x/=2;k++;}while(k<n);y=1+x;k=0;do{y=y*y;k++;}while(k<n);cout<<y<<endl;备选答案:A. n n x y )1(+=B. n n x y 2)21(+=C. n n x y )21(+=D. n n x y 21)21(++= 解答:第一个循环使x 成为:n x 2;y 成为:n x 21+;第二个循环使y 成为:nn x 2)21(+; (1)B考虑整除,当x 连除4次2以后即为0,所以:nx2为0 (2)12.1.3 请看如下程序段: if (num==1) cout<<”Alpha”; else if (num==2) cout<<”Bata”;else if (num==3) cout<<”Gamma”;else cout<<”Delta”;当num 的值分别为1、2、3时,上面程序段的输出分别为(1) 、(2) 、(3) 。

解答:检查条件语句与字符串输出概念: (1)Alpha (2)Bata (3)Gamma2.1.4 执行下面程序段后,m 和k 的值分别为 (1) 、 (2) 。

int m,k;for(k=1,m=0;k<=50;k++){if (m>=10) break; if (m%2==0){m+=5; continue; } m-=3; }(1)11 (2)8二.编程与综合练习题2.2 有一个函数:⎪⎩⎪⎨⎧≥-≤≤<=)10x ( 113x )10x (1 1-2x 1)(x x y编写程序,输入x ,输出y 。

c语言程序设计第二章课后参考答案[修改版]

c语言程序设计第二章课后参考答案[修改版]

第一篇:c语言程序设计第二章课后参考答案第二章:C程序的基本结构一、单项选择题1、以下不是C语言的特点的是________。

A)语言的表达能力强B)语言定义严格C)数据结构系统化D)控制流程结构化2、TC编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是________。

A)编辑和编译B)编译和连接C)连接和运行D)编辑和运行3、以下不是二进制代码文件是________。

A)标准库文件B)目标文件C)源程序文件D)可执行文件4、下面个选项组中,均属于C语言关键字的一组是________。

A)auto,enum,includeB)switch,typedef,continue C)signed,union,scanf D)if,struct,type5、下面四组字符串中,都可以用作C语言标识符的是________。

A)print B)I \am C)signed D)if _maf scanf 3mf ty_pr mx_2d mx_ a.f x1# aMb6 AMB A&B 5XY6、以下不属于流程控制语句的是_________。

A)表达式语句B)选择语句C)循环语句D)转移语句7、下面描述中,不正确的是________。

A)C语言的函数体由一系列语句和注释组成。

B)注释内容不能单独写在一行上。

C)C程序的函数说明部分包括对函数名、函数类型、形式参数等的定义和说明。

D)scanf和printf是标准库函数而不是输入和输出语句。

8、下面描述中,正确的是________。

A)主函数的花括号必须有,而子函数中的花括号是可有可无的。

B)一个C程序行只能写一个语句。

C)主函数是程序启动时的唯一入口。

D)函数体包含了函数说明部分。

二、填空题1、一个完整的C程序至少要有一个________函数。

(主函数)2、标准库函数不是C语言本身的组成部分,它是由__________提供的功能函数。

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

第二章基本控制结构程序设计习题一.基本概念与基础知识自测题2.1 程序阅读题2.1.1 设有说明:int a=3, b=100;下面的循环语句执行(1)次,执行后a、b的值分别为(2)、(3)。

while(b/a>5){if(b-a>25) a++;else b/=a;}解答:本题检查学生整除的概念。

跟踪:(1)14(2)17(3)1002.1.2 设有说明:int x,y,n,k;下面程序段的功能是备选答案中的(1),当n=10,x=10打印结果是(2)。

cin>>x>>n;k=0;do{x/=2;k++;}while(k<n);y=1+x;k=0;do{y=y*y;k++;}while(k<n);cout<<y<<endl;备选答案:A. n n x y )1(+=B. n n x y 2)21(+=C. n n x y )21(+=D. n n x y 21)21(++= 解答:第一个循环使x 成为:n x 2;y 成为:n x 21+;第二个循环使y 成为:nn x 2)21(+; (1)B考虑整除,当x 连除4次2以后即为0,所以:nx2为0 (2)12.1.3 请看如下程序段: if (num==1) cout<<”Alpha”; else if (num==2) cout<<”Bata”;else if (num==3) cout<<”Gamma”;else cout<<”Delta”;当num 的值分别为1、2、3时,上面程序段的输出分别为(1) 、(2) 、(3) 。

解答:检查条件语句与字符串输出概念: (1)Alpha (2)Bata (3)Gamma2.1.4 执行下面程序段后,m 和k 的值分别为 (1) 、 (2) 。

int m,k;for(k=1,m=0;k<=50;k++){if (m>=10) break; if (m%2==0){m+=5; continue; } m-=3; }(1)11 (2)8二.编程与综合练习题2.2 有一个函数:⎪⎩⎪⎨⎧≥-≤≤<=)10x ( 113x )10x (1 1-2x 1)(x x y编写程序,输入x ,输出y 。

解:#include <iostream> using namespace std; int main(){ double x,y; cout<<"输入x="; cin>>x; if (x<1) y=x; else if (x<10) y=2*x-1; else y=3*x-11; cout<<"y="<<y<<endl; return 0; }2.3 设计程序将输入的百分制成绩转换为五分制输出,90分以上为5分,80~89分为4分,70~79分为3分,60~69分为2分,60分以下为1分。

解:10分一档用10进行整除获得,转换用开关语句实行。

#include <iostream> using namespace std; int main(){ int mark,result; //mark 是百分制成绩,result 是5分制 cout<<"请输入百分制成绩:"<<endl; cin>>mark; if (mark<0) { cout<<"缺考!"<<endl; return 0; } switch (mark/10){ case 9: case 10: result=5; cout<<"输出五分制成绩:"<<result<<endl; break ; case 8:result=4;cout<<"输出五分制成绩:"<<result<<endl;break;case 7:result=3;cout<<"输出五分制成绩:"<<result<<endl;break;case 6:result=2;cout<<"输出五分制成绩:"<<result<<endl;break;case 5:case 4:case 3:case 2:case 1:case 0:result=1;cout<<"输出五分制成绩:"<<result<<endl;break;default:cout<<"输入错误!"<<endl;}return 0;}2.4 编程计算个人所得税。

个人所得税率表如下:月收入1200元起征,超过起征点500元以内部分税率5%,超过500元到2,000元部分税率10%,超过2,000元到5,000元部分税率15%,超过5,000元到20,000元部分税率20%,超过20,000元到40,000元部分税率25%,超过40,000元到60,000元部分税率30%,超过60,000元到80,000元部分税率35%,超过80,000元到100,000元部分税率40%,超过100,000元部分税率45%。

解:应该从最高税率段开始计算,分段叠加。

先算两万元以上各段,每两万为一档,采用switch 语句,注意没有使用break语句。

后面各低收入段,用if语句,也没有使用else,这两种方法是对应的。

第二要注意计算的入口处,收入减去该段的下限,进行计算,以后各段都是完整的段,计算十分简单。

#include <iostream>using namespace std;int main(){double income,tax=0;int k;cout<<"请输入个人月收入:"<<endl;cin>>income;if(income<=1200){cout<<"免征个人所得税"<<endl;return 0;}else income-=1200;if(income>20000){k=income/20000;switch(k){default: tax+=(income-100000)*0.45;income=100000;case 4: tax+=(income-80000)*0.40;income=80000;case 3: tax+=(income-60000)*0.35;income=60000;case 2: tax+=(income-40000)*0.30;income=40000;case 1: tax+=(income-20000)*0.25;income=20000;}}if(income>5000){tax+=(income-5000)*0.20;income=5000;}if(income>2000){tax+=(income-2000)*0.15;income=2000;}if(income>500){tax+=(income-500)*0.10;income=500;}tax+=income*0.05;cout<<"应征所得税:"<<tax<<endl;return 0;}2.5 编程打印如下图形:** * ** * * * ** * * * * * ** * ** * ** * *解:难点在三角形左边的空格的控制,嵌套一个循环语句完成此任务。

#include <iostream>using namespace std;int main(){int i,j;for (i=1;i<=4;i++){for(j=4-i;j>0;j--) cout<<" ";//三角形每行前部的空格for(j=1;j<=2*i-1;j++) cout<<" *";cout<<endl;}for(i=1;i<=3;i++) cout<<" * * *\n";return 0;}2.6 编程输出下列图形,中间一行英文字母由输入得到。

AB B BC C C C CD D D D D D DC C C C CB B BA解:分上三角和下三角两部分分别处理左边的空格。

#include <iostream>using namespace std;int main(){char in;int i,j;do{cout<<"输入一个字母:";cin>>in;if((in>=97)&&(in<=122)) in-=32;//小写改大写}while((in<65)||(in>90));int line=in-'A';for (i=0;i<=line;i++){//上三角for(j=line-i;j>0;j--) cout<<" ";//前方空格for(j=1;j<=2*i+1;j++) cout<<' '<<char(i+'A');cout<<endl;}for (i=line;i>0;i--){//下三角(少一行)for(j=0;j<=line-i;j++) cout<<" ";for(j=1;j<=2*i-1;j++) cout<<' '<<char(i-1+'A');cout<<endl;}return 0;}2.7 输入n,求1!+2!+3!+…+n!解:通常求和作为外循环,阶乘作为内循环。

这里考虑到:n!=n*(n-1)!,利用递推法运算速度大大提高,同时两者可合并为一个循环。

本程序考虑了输入的健壮性。

#include <iostream>#include <cstdlib>using namespace std;int main(){int n,i,jch=1;double result=0; //result是结果cout<<"请输入正整数n:"<<endl;cin>>n;if(n<1){cout<<"输入错误!"<<endl;return 1;}result=1;for(i=2;i<=n;i++){jch*=i; //jch是i的阶乘,注意n!=n*(n-1)!这样可少一层循环result+=jch;}cout<<result<<endl;return 0;}2.8 猴子吃桃问题:猴子摘下若干个桃子,第一天吃了桃子的一半多一个,以后每天吃了前一天剩下的一半多一个,到第十天吃以前发现只剩下一个桃子,问猴子共摘了几个桃子。

相关文档
最新文档