c语言中算法分析ppt,c语言(概述,算法).ppt

c语言(概述,算法).ppt

C语言程序设计 第一章 C语言程序设计 本章要点 C语言的特点 C语言的发展历史 C程序的结构 在计算机上运行C程序的方法 1.1 C语言的发展历史 1.2 C语言的特点 1.3 C语言程序的组成结构 例 2 求两数之和#include main( ) /*求两数之和*/{ int a,b,sum; /*定义变量为整型*/ a=123; /*变量赋值*/ b=456; sum=a+b; /*求和 */ printf(″sum is %d\n″,sum);} C程序的基本结构小结: 1.4 运行C程序的步骤和方法 2. C程序的开发环境 1.5 从三个方面学习C语言 第二章 C语言程序设计 本章要点 什么是程序设计 什么是算法,如何设计和表示算法 结构化程序设计的思想和方法 计算机语言分类 2.1 程序设计的基本概念 程序设计的步骤 1. 枚举法(穷举法) 特点:算法简单,容易理解,运算量大。 基本思想: 根据题目的部分条件确定答案的大致范围,然后在此范围内对所有可能的情况逐一验证,直到所有情况均通过验证。若某个情况符合题目条件,则为本题的一个答案;若全部情况验证完后均不符合题目的条件,则问题无解。 如: 百元买百鸡问题。假定小鸡每只0.5元,公鸡每只2元,母鸡每只3元。现在有100元钱要求买100只鸡,问共有几种购鸡方案? 根据题目设母鸡、公鸡、小鸡各为x,y,z只,列出方程为:x+y+z=100,3x+2y+0.5z=100 利用穷举法,将各种可能的组合一一测试,输出符合条件的组合。即在各个变量的取值范围内不断变化x,y,z的值,穷举x,y,z全部可能的组合,若满足方程组则是一组解。 #include "stdio.h" main() { int x,y,z; printf("母鸡 公鸡 小鸡"); for(x=0;x<=33;x++) for(y=0;y<=50;y++) {z=100-x-y; if((3*x+2*y+0.5*z)==100) printf(“\n%-6d %-6d %-6d”, x,y,z);} } #include "stdio.h" main() { int i,x; x=1; printf("第 7 天的桃子数为:1只\n"); for(i=6;i>=1;i--) { x=(x+1)*2; printf("第 %d 天的桃子数为:%d只",i,x); printf("\n"); } } 3.求最大值、最小值问题 采用如同打擂台的方法。 在n个数中,先假设第一个数为最大值,成为擂主,依次同第2,3,……n个数据逐一比较,一旦某个数大,马上替换擂主;所有值比较完,最大值也就获得。 求最小值问题则先假设第一个数为最小值。 如对输入的若干个学生成绩,求出最高分。 课程小结 C语言的特点 C程序的结构 算法初步 ① 将a、b、c和x的值输入到计算机; ② 判断x≤a?如果条件成立,执行第③步,否则执行第④步; ③ 按表达式bx+a2计算出结果存放到M中,然后执行第⑤步; ④ 按表达式a(c-x)+c2计算出结果存放到M中,然后执行第⑤步; ⑤ 输出M的值; ⑥ 算法结束。 这是用自然语言描述的算法 例2:有黑和蓝两个墨水瓶,但却错把黑墨水装在了蓝墨水瓶子里,而蓝墨水错装在了黑墨水瓶子里,要求将其互换。 算法分析:这是一个非数值运算问题。因为两个瓶子的墨水不能直接交换,所以,解决这一问题的关键是需要引入第三个墨水瓶。设第三个墨水瓶为白色,其交换步骤如下: ①将蓝瓶中的黑墨水装入白瓶中 ②将黑瓶中的蓝墨水装入蓝瓶中 ③将白瓶中的黑墨水装入黑瓶中 ④交换结束 2.算法的基本特征 算法是一个有穷规则的集合,这些规则确定了解决某类问题的一个运算序列。 算法的基本特征: 有穷性:算法必须在执行有限个操作后终止; 确定性:算法中每一步的含义必须是确切的,不能出现任何二义性; 有效性:算法中的每一步操作都应该能有效执行,一个不可执行的操作是无效的; 有零个或多个输入:执行算法时,从外界获得必要的信息 ; 有一个或多个输出:算法的解就是输出。 3.算法的常用表示方法 可以用不同的方法表示算法,常用方法有: 自然语言 传统流程图 结构化流程图 (1)自然语言 自然语言即是使用汉语、英语或其他语言去描述算法。 [例]有50名学生的成绩,要求将他们之中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值