资源描述:
《《C程数组教案》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章数组引例:输入30个学生的成绩,求高于平均成绩人数。开始定义变量sum,x,isum=0,i=1;判断:i<=30?输入数据=>xsum=sum+xi++判断:i<=30?输入数据=>xsum=sum+xi++判断:i<=30?输出ave假ave=sum/30结束56x67引例:输入30个学生的成绩,求高于平均成绩的人数。main(){inti,x;floatsum=0,ave;for(i=1;i<=30;i++){scanf("%d",&x);sum+=x;}ave=sum/30;printf("aver=%f
2、",ave);}将30个人的成绩逐一与ave比较,大于ave计数。(循环处理)如何保存30个成绩?开始定义变量sum,i,数组a[30]sum=0,i=0;sum=sum+a[i]i++判断:i<=29?输入数据=>a数组;sum=sum+a[i]i++判断:i<=29?输出高于ave人数假ave=sum/30结束判断:i<=29?5667786190……788245aa[0]a[29]a[1]a[2]a[28]……引例:输入30个学生的成绩,求高于平均成绩人数。第5章数组5.1一维数组5.2二维数组5.3字符型数
3、据5.4算法举例定义:批量数据的集合特点:所有数据类型相同要素:数组名、下标5.1一维数组一、一维数组的定义和引用定义:类型说明符数组名[数组长度]如:inta[10],x[5*3];0123456789aa[0]a[2]a[4]a[6]a[8]a[1]a[3]a[5]a[7]a[9]intn;scanf(“%d”,&n);inta[n];引用方式:数组名[下标]注意:命名规则、数组长度、下标、空间分配整型表达式整数或整型常量表达式√5.1一维数组二、一维数组元素的赋值1.初始化:定义同时赋值;2.数组元素的输入:sc
4、anf函数输入;3.数组元素的赋值:使用赋值运算;4.产生随机数:使用随机函数random。5.1一维数组1、初始化在定义数组时,对全部数组元素赋初值。inta[5]={6,2,7,-3,5};只给一部分元素赋值。inta[5]={6,2};inta[5]={6,2,0,0,0};定义数组时使数组a中全部元素自动赋以0值。staticinta[5];inta[5]={0};对全部数组元素赋初值时,可以不指定数组长度。inta[3]={1,2,3};inta[]={1,2,3};等价等价等价√随机函数random的用法:
5、格式:random(x)说明:(1)x为整型(2)头文件"stdlib.h"(3)产生[0,x)区间上的整数。注意:若需每次运行时产生不同的随机整数,用randomize()函数,所在头文件:"time.h"产生[a,b]区间上任意整数的方法:random(b-a+1)+a2、随机函数random和rand√√rand函数的用法:格式:rand()说明:(1)头文件"stdlib.h"。(2)该函数产生0到整型最大值之间的一个随机整数。产生[a,b]区间上任意整数的方法:rand()%(b-a+1)+asrand函数(
6、头文件time.h)srand(time(0))用当前时间作为随机数的初始种子√main(){inti,a[5]={1,2,3,4,5};for(i=0;i<5;i++)printf("%5d",a[i]);printf("");}例5-1数组元素的引用。inti,a[5];for(i=0;i<5;i++)scanf("%d",&a[i]);a[i]=i+1;a[i]=random(20);#include例:用数组求Fibonacci数列前40项.main(){inti;longf[40]={
7、1,1};for(i=2;i<40;i++)f[i]=f[i-2]+f[i-1];for(i=0;i<40;i++){if(i%5==0)printf("");printf("%12ld",f[i]);}}√例5-2求10个学生成绩的最高分、最低分和平均分。#include"stdio.h"main(){inti,a[10],min,max;floatav,s;for(i=0;i<=9;i++)scanf("%d",&a[i]);max=min=a[0];s=a[0];for(i=1;i<10;i++){if(a[
8、i]max)max=a[i];s+=a[i];}av=s/10;printf("max=%d,min=%d,av=%.2f",max,min,av);}运行输入:63888990667361927278↙运行结果:max=92,min=61,av=77.20√例5-3:求10个数的最小值