计算机语言和程序设计ppt,计算机语言与程序设计 (4).ppt

《计算机语言与程序设计 (4).ppt》由会员分享,可在线阅读,更多相关《计算机语言与程序设计 (4).ppt(30页珍藏版)》请在人人文库网上搜索。

1、1、计算机编程基础,第四讲阵列,2、3、阵列,中秋节,当客人来到草原时,主人应该从羊群中选择一只肥羊来招待客人,当然选择最重的一只。这样,就有必要记录每只羊的重量。如果有成千上万只羊,就不可能用一般的变量来记录它们。您可以在这里使用带下标的变量,即数组。问题:哪只羊最重?3,让我们先来看这个例子:用键盘输入10只羊的重量,并把它们存储在一个名为绵羊的数组中,包括void main()/main函数float sheak 10;/包含10个浮点元素的数组,/用于存储10只羊每只的最大重量浮点值;/浮点型变量,它存储I,k中最肥羊的体重;/整数变量,I用于计数周期,k用于记录最肥羊的数量max=0。

2、.0/为(i=0)分配初始值0;i10I=i 1 )/计数周期/周期,开始打印(请输入羊的重量% d=,I);/提示使用scanf (%f ),/输出最肥羊的数量,4,程序框图、5、3,数组,数组定义类型描述符数组名称常量表达式示例:float shear 10;int a20011000附注1。数组名称的第一个字符应该是英文字母;2.将常量表达式括在方括号中;3.常量表达式定义数组元素的数量;6,3,数组,4。数组下标从0开始。如果你定义5个元素,它是从第0个元素到第4个元素;例如,int a5定义了如下五个数组元素:a0,a1,a2,a3,a4。这是五个带有以下标签的变量,这五个变量的类型。

3、相同。5.常量表达式中不允许变量;例如,整数n;n=5;int an非法!7,3,array,array初始化就是定义一个数组来完成赋值初始值的任务,例如,int a5=3,5,4,1,2;A0=3;a1=5;a2=4;a3=1;a4=2;8,1。#包含void main()int a4;/声明项目printf(“A0=% d;a1=% d;a2=% d;a3=%dn”、a0、a1、a2、a3);2.其他条件不变,将声明项改为int a4=0,1,2,3;请自己做6个实验,9,3。其他东西保持不变,并将声明的项目改为int a4=3,8;4.在其他条件不变的情况下,将声明项改为int a4=2。

4、,4,6,8,10;5.其他条件不变,将声明项改为int a4=2,4,6,d;6.其他条件不变,将声明项改为int n=4;int an=0,1,2,3;10,讨论问题:用筛选法找出100,3以内的所有素数。阵,思路1。想象100个数字被视为沙子和小石头头,让小石头头称质数;让沙子被视为一个非质数。拿一个筛子,只要沙子被筛掉,剩下的就是质数。2.非质数必须是2、3和4的倍数。3.使用一个数组,让下标是一个100以内的数字,并且让数组元素的值作为是否屏蔽的标志。例如,让元素值在筛选后为1。方法的基础:1到100这些自然数可以分为三类:单位数:只有一个数字1。质数:它是一个大于1的数,只有两个正。

5、因子:1和它自己。复合数:除了1和它本身,还有其他积极因素。1不是质数。1以外的自然数当然只是质数和合成数。事实上,筛选方法是筛选出复合数并留下质数。为了提高筛选方法的效率,需要注意的是,如果n是一个复合数(这里是100),c是n的最小正因子,那么根据初等数论,只要找到c,n就可以被确认为一个复合数并被筛选出来。12,程序框图如下:13,上面的框图清楚地描述了筛选方法的思想:1。第一个块是一个计数循环语句,它的功能是将素数组清零。prime c=0;C=2,3,100 2。第二个块是正因子D被初始化为d=2。3.第三块是循环筛号。这里使用了do while语句,它属于一个直到类型的循环。它的一。

6、般形式是:做循环体语句块时(表达式),14。直到型循环的框图如下:直到表达式为假,循环才会退出。15,3,数组,示例。获得的近似值是由变量pi表示的值。当最后一项的绝对值小于或等于16时,忽略括号中的每项,包括# include void main()/main function int sum;/整数变量,浮点pi、a、b、c项的总数;/浮点变量,a是分母,b是分子,c是b除以pi=0;sum=0;/初始化a=1.0b=1.0c=1.0/初始化do /直到键入loop/loop body,开始pi=pi c;/累加每个项目的总和=总和1;a=a 2.0/计算每个项的分母b=-b;/分子变化符。

7、号c=b/a;/计算每个项目/循环结束时(晶圆厂(c)1e-6);/当C的绝对值大于-6次方10时,继续/执行循环体,否则退出pi=4 * pi/获得最终结果printf(“pi=% fn”,pi);/输出pi值printf(“总和=% dn”,总和);/输出项目的总数。参考程序如下:17,运行结果pi=3.141594,总和=500001问题:当表达式的值总是真时会发生什么?答:它将形成一个无限循环,也就是说,无休止地执行循环体。请实验:1。将B定义为整型以查看执行结果并分析原因。2.将1e-6改为1e-7或1e-4以查看结果。18.接下来,将介绍循环的另一种一般形式“当循环”时:while。

8、(表达式)语句块;(循环体),19,分析:假设有x,y和xy,让最小公倍数为z 1。z必须=x 2。z=kx,k=1,2,3。z必须能被y整除。试着用两个最简单的数字来找出算法。例如,找到两个整数。=0不可分=5,5% 3!=0第二步z=z x不可分=10,10% 3!=0第三步z=z x=15,15% 3=0可除数为z,15是5和3的最小公倍数,21,#包含#包含void main ()/main函数int x,y,z,w;/整数变量scanf (%d% d ,/输出最小公倍数。参考程序如下。请比较这三种循环的异同。1.用于循环(计数循环)。2.while循环(while循环)。3.在do 。

9、while循环之前,挑选肥羊和筛选质数的程序由你自己完成和教授。问题:从大到小排序输出几个数字,并介绍冒泡排序法,24,25。从表中可以看出,在第一次扫描中,最小的数字被交换到a6。如果a1被视为水底;a6被视为水面;最轻(最小)的数字1首先浮到水面并切换到a6;第二光的二次通过扫描被切换到A5;灯3的第三次扫描被切换到A4;通过类比,有六个数字,前五个数字需要扫描五次,第六个最重的数字自然落在a1。因此,6个数字只需要5次扫描,即j=n-1,n=6。冒泡排序算法分析:26,然后查看每次扫描中两个相邻数组元素的比较时间。当j=1时,I=1,2,n-j。当n=6时,经过5次比较后,a6中有一个最。

10、小值,此时a6不需要参与比较。因此,在第二次搜索中,j=2,i=1,2,n-j,即I=1,2,3,4。经过四次比较,下一个最小的数字达到a5。此时,a5不需要参与比较。因此,当j=3时,I=1,2,3;当j=4时,I=1,2;j=5时,I=1。在整理出上述规则后,编译程序并不困难。气泡分类算法分析:27。为了便于表达,定义了以下三个变量:n为待排序的数字个数,其中n=6 j次扫描,j=1,2,n-1 i为第j次扫描中待比较元素的下标,I=1,2,n-j,冒泡排序算法步骤2:将j设为1;第三步:让我从1到n-j,比较ai和ai 1,如果ai=ai 1,位置不会移动;如果ai ai 1,位置交换,即p=aiai=ai 1;ai 1=p;在步骤3之后,an-j 1中的数字是最小的数字。步骤4:让j=J1;只有j!=n,返回步骤3,排列an-j 1的值。当j=n时执行步骤5:输出排序结果,并设计冒泡排序算法:29,#包含void main()/main函数int i,j,p,a7;/整数变量为(I=1;I=6;I=i 1)/输入6个数字,并将它们放入数组a printf中(“请输入要排序的数字a% d=,I”);/提示scanf (%d ,/格式输出ai,参考程序如下:30,绑定。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值