C语言数组PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
整型表达式,
main( )
从0开始。
{int i, b[10];
for (i=0; i<10; i++)
bsc[ia]n=fi(;"%d", &b[i]);
for (i=0; i1<、10如; 何i+使+)数组元素为:100~109
printf("2%、作5d业",1:b[i] );
printf("\n从"键);盘输入20个数到m数组,将下标为
for(i=1;i<10;i++)
{ if(a[i]<min) min=a[i];
if(a[i]>max) max=a[i];
s+=a[i]; }
average=s/10;
printf("作m业ax5=:%3d0,m个i元n=素%,d,赋av予e=从%27开.2f始", 的m偶ax数,m,in,average);
3570 1 2 3 4 5 6 7 8 9
#include <stdio.h> main( ) {int i,j,t, a[10], k; for(i=0; i<=9; i++)
scanf("%d", &a[i]); for(j=1; j<10; j++)
if(a[j]<a[0]) { t=a[0]; a[0]=a[j]; a[j]=t; } printf("最小值是: %d\n", a[0]); }
t t[0] t[1]
t[9] 3
第5章 数 组
➢ 数组的定义和引用 ➢ 对数组元素的操作:
对调、最大值、最小值、平均值、和 ➢ 对整个数组的操作:
产生随机数组、逆序、排序 ➢ 对字符数组的操作:
连接、复制、比较
4
5.1 一维数组
一、 一维数组的定义和引用 1. 定义
整数或整型 常量表达式
类型标识符 数组名[ 数组长度 ];
static int a[5]; int a[5]={0};
等价
⒋ 对全部数组元素赋初值时,可以不指定数组长度。
int a[3]={1, 2, 3};
等价
int a[ ]={1, 2, 3};
7
三、 随机函数random和rand
2. rand函数的用法: 格式: rand ( ) 说明: (1) 该函数包含在头文件"stdlib.h"中。 (2) 该函数产生0到整型最大值之间的一个随机整数。
产生[a,b]区间上任意整数的方法: rand( )%(b-a+1)+a
srand函数 (头文件time.h) srand(time(0))
用当前时间作为随机数的初始种子
8
#include "time.h"
#include "stdlib.h" main( ) { int i, a[10];
说明: srand函数,可以产生不同的随机数, 此函数包含在"time.h"头文件中。
作业5: 30个元素,赋予从2开始的偶数,每5个求一个平 均值放到另一数组
作业6:数组为20个整数,求其中的素数。 作业7:教材97 5-6 作业8:实验指导45:6
1
引例: 输入30个学生的成绩,求高于平均成绩的人数。
#include "stdio.h"
main()
变量性质:
{ int i,x,k=0; 能保存多个数据(长度) float s=0,ave; 通过循环访问数据(有序)
第8周实验
作业1: 从键盘输入20个数到m数组,将下标为0、2、 4……的元素赋值给数组n,输出n中内容
作业2: 产生10个[50,90]上的随机整数,求其中能被5整 除的所有数的和。
作业3: 将10个数(可以随机产生)中所有的偶数除以2 ,奇数乘以2.
作业4:求20个数(可以随机产生)中的最大值和次最大 值。
int a[10]; 表示数组a共包括10个元素,分别为a[0] ~a[9]。
a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9]
5
2. 一维数组的引用
只能逐个引用数组元素,而不能Baidu Nhomakorabea次引用整个数组。 引用形式: 数组名[ 下标 ]
例5-1 数组元素的引用。
srand(time(0));
for(i=0; i<10; i++)
a[i]=rand()%11+5;
for(i=0; i<10; i++)
printf("%5d",a[i]);
printf("\n");
}
作业2:产生[50,90]上的随机整数,求能被5整除的数的和。 作业3:将10个数中所有的偶数除以2,奇数乘以2.
} 每5个求一个平均值放到另一数组。
10
例5-5 求10个数的最小的值,并将该最小值 与最前面的元素互换(最小值唯一)。
➢ 方法1:
顺序法
-1-12103 12 34 120 6 -21 10 -13 45 63
数组元素变化较大
无法知道最小值原来的位置
➢ 方法2:
选择法
-1103 12 34 2 6 -1 10 -1103 45 63
for(i=1;i<=30;i++)
{ scanf("%d",&x);
s+=x; } ave=s/30; printf("aver=%f\n",ave); }
for(i=1;i<=30;i++) if(ave<?) k++;
如何保存30个成绩?
2
数组
➢ 定义:有序数据的集合 ➢ 特点:所有元素类型相同 ➢ 要素:数组名、 下标
}
0、2、4……的元素赋值给数组n,输出n中内容。 6
二、 一维数组的初始化
⒈ 在定义数组时,对全部数组元素赋初值。
int a[5]={6, 2, 7, -3, 5};
⒉ 只给一部分元素赋值。
int a[5]={6, 2}; int a[5]={6, 2, 0, 0, 0};
等价
⒊ 定义数组时使数组a中全部元素自动赋以0值。
12
#include <stdio.h>
main( )
作业4:
{int i,j,t, a[10], k; 求20个数中的最大值和次最大值。
for(i=0; i<=9; i++)
9
5.1.4 一维数组的简单应用
例 5-3、4 求10个学生成绩的最高分、最低分和平均分。
#include "stdio.h"
main( )
{ int i,a[10],min,max;
float average,s;
for(i=0;i<=9;i++) scanf("%d",&a[i]);
max=min=a[0]; s=a[0];