数组
(一)数组的概念
1. 定义数组
- 一般格式
类型 数组名[长度]; - 实例:
int a[5];
double b[2][3];
char c[10];
2. 初始化
- 数组定义是同时给出初始化值;
- 数组长度可以省略,此时长度有初始化的值的个数确定元素个数;
- 多维数组第一维长度可省略。
- 实例:
int a[]={1,2,3,4,5};
int b[][3]={1,2,3,4,5,6,7};
int c[6]={1,2,3,4};
3. 数组元素的引用
- 一般格式:数组名[下标]
- 【注意1】下标范围从0开始到数组长度减1;
- 【注意2】每个元素都是一个变量
- 如 a[0], a[3]
对指定对一个元素赋值:a[0] = 9
对两个元素判断关系:
if (a[0]>a[1])
max = a[0];
4. 数组的操作
- 查找
- 插入
- 删除
- 交换
- 排序(冒泡法、选择法等)
5. 数组名的含义
- 数组名是数组的首地址
- 即a与&a[0]等值
(二)一维数组实例
案例1:10名学生的成绩计算问题。
编程完成:
1、计算10名学生的成绩的平均分;
2、输出低于平均分的所有成绩;
3、从高分到低分输出所有成绩;
求解方法1:选择法排序
// 选择法排序
#include "stdio.h"
void main()
{
int i,j,t,k,sum=0,cnt=0,avg,grade[10]={
77,63,90,88,78,65,54,79,85,67};
//1.输出初始成绩
printf("初始成绩如下:");
for(i=0;i<10;i++)
printf("%3d",grade[i]);
printf("\n");
//2.计算平均分
for(i=0;i<10;i++)
sum