C程序设计谭浩强第二章习题与答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题
2.1什么是算法?是从日常生活中找三个例子,描述他们的算法?
答:对操作的描述,即操作步骤,就是算法。
????????广义的说;为解决一个问题而采取的方法和步骤,就称为“算法”。
例:(略)
2.2什么叫结构化的算法?为什么要提倡结构化的算法?
答:由基本节构所构成的算法属于“结构化”的算法。
????? 结构化的算法便于编写、阅读、便于修改和维护。这就减少了程序出错的机会、提高了程序的可靠性,保证了程序的质量。
2.3试述三种基本结构的特点,你能否自己另外设计两种基本结构(要符合基本结构的特点)。
2.4
答:基本结构有以下共同点:
?????? 1:只有一个入口。图2-14-------2-17中的a点为入口。
??????? 2:只有一个出口。图2-14-------2-17中的b点为出口。注意,一个判断框有两个出口,但一个选择结构只有一个出口。不能混淆。
??????? 3:结构内的每一部分都有被执行到的机会。也就是说,对每一个框来说,都应当有一条到出口的路径通过它。图2-20中就没有一条从入口到出口的路径通过A框。
???????? 4:结构内不存在死循环(无终止的循环)。图2-21就是一个死循环。
????? 需要说明的是基本结构并不一定只限于以上3中,只要有以上四种特点就可以。人们可以自己定义之。例:如下两图
2.5用传统流程图表示求解一下问题的算法。
(1)有两个瓶子A和B,分别放醋和酱油,要求将他们互换。
#include
void main()
{
int a;
int b;
int c;
a=10;b=5;
printf("%d,%d\n",a,b);
c=a;a=b;b=c;
printf("%d,%d\n",a,b);
}
(2)一次将10个数输入,要求将将其中最大的数输出。
#include
void main()
{
int a[10];
int i;
int max;
printf("input 10 numbers.\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
max=a[0];
for(i=1;i<10;i++)