@【toc]
目录
# 数组
一组具有相同数据类型的数据的有序集合。
一维数组:定义格式:类型说明符 数组名 [常量表达式];(类型说明符是数组的类型,数组名的命名规则与变量名相同,常量表达式可为常量,符号常量)
int a [10];//内含10个int类型元素的数组,([])表示a是数组,方括号中的数字表明数组中元素的个数。通过数组下标数(也称为索引)来表示数组中的各元素 。数组编号从来0开始,a[0]表示a数组的第一个元素。
注意:不能用变量对数组大小进行定义。(int n=10,a[n];是错的)
# 初始化数组
1.在定义数组时对数组元素赋以初值。
int a [8]={2,3,4,5,6,7,8,9};
2.只给一部分元素赋值,其他按零处理。
int a [4]={1,2}; a数组的前两个元素被赋值,后两个为0.
3.对全部数组元素赋初值时,可不指定数组长度。
int a [2]={8,9};等价于int a [ ]={8,9};
4。一组数组赋初值的个数不能超过数组总元素的个数。
# 一维数组的引用
只能引用单个数组元素,不能一次引用整个数组。
引用形式:数组名[下标] 下标可以是整型变量,整型常量和整型表达式。
# 一维数组的输入输出
数组的引用离不开循环。将数组的下标作为循环变量,通过循环,就可以对数组的所有元素逐个进行处理。
数组的输入
#include <stdio.h>
int main ()
{
int i;
int a [10];
for(i=0;i<10;i++)
scanf ("%d",&a[i]);
return 0;
}
数组的输出
#include<stdio.h>
int main ()
{
int a[4]={1,2,3,4};
int i;
for(i=0;i<4;i++)
printf("%d ",a[i]);
return 0;
}
# 冒泡排序法
基本思想:每次将相邻的两个数比较,将小的调到前面。
例:输入10个数,将它们按从小到大排序。
#include <stdio.h>
int main()
{
int i ,j ,t;
int a[10];
printf("请输入10个数:");
for( i = 0 ; i < 10 ; i ++ )
{
scanf(" %d " , & a[i]); //将一组数存储到数组a中
}
for( i = 0 ; i < 9 ; i++ ) //控制比较趟数
for( j = 0 ; j < 9 - i ; j++ )//控制第i趟比较的次数
{
if( a[j] > a[j+1] ) //比较相邻的两个数
{
t = a[j]; //如果前面的数较大,交换两数
a[j] = a[j+1];
a[j+1] = t;
}
}
printf("排序结果为:");
for( i = 0 ; i < 10 ; i++ ) //请输入10个数: 22 33 45 43 23 66 89 11 6 56 -1
{ // 排序结果为:6 11 22 23 33 43 45 56 66 89
printf(" %d " ,a[i]);
}
return 0;
}