6.1 一维数组
6.1.1 一维数组定义方式
类型声明符 数组名[常量表达式]
6.1.2 一维数组的引用
数组名[下标];
例如:任意输入五个数,实现五个数据逆序存放。
#include <iostream>
#include<stdio.h>
using namespace std;
int main()
{
int temp,a[5],i;
printf("please input array a:\n");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
printf("array a:\n");
for(i=0;i<5;i++)
printf("%d",a[i]);
printf("\n");
for(i=0;i<2;i++)
{
temp=a[i];
a[i]=a[4-i];
a[4-i]=temp;
}
printf("now array a:\n");
for(i=0;i<5;i++)
printf("%d",a[i]);
printf("\n");
}
结果
6.1.3 一维数组的初始化
- 在定义数组时直接对数组元素赋值
#include <stdio>
using namespace std;
int main()
{
int a[4]={1,2,3,4};
for(int i=0;i<4;i++)
printf("%d",&a[i]);
printf("\n");
}
- 可以只给一部分赋值,未赋值的元素中为0
#include <stdio>
using namespace std;
int main()
{
int a[4]={1,2,3};
for(int i=0;i<4;i++)
printf("%d",&a[i]);
printf("\n");
}
6.1.4 一维数组的应用
使用数组保存学生姓名。名字如下:wangjiasheng,LiuWen,zhangmeng,leiyu,suyuqun。
#include <iostream>
#include<stdio.h>
using namespace std;
int main()
{
char*arrayname[5];/*字符指针数组*/
int index;
arrayname[0]="wangjiasheng";
arrayname[1]="LiuWen";
arrayname[2]="zhangmeng";
arrayname[3]="leiyu";
arrayname[4]="suyuqun";
for(index=0;index<5;index++)
{
printf("%s\n",arrayname[index]);
}
return 0;
}
6.2 二维数组
6.2.1 二维数组定义方式
类型声明符 数组名[常量表达式1][常量表达式2];
6.2.2 二维数组的引用
数组名[下标];
6.2.2 二维数组的初始化
- 分行给二维数组赋值
例如:
int array[2][3]={{1,2,3},{4,5,6}};
第一个括号里面的元素赋值给第一行,第二个花括号里面的元素赋值给第二行。
- 将数据写在一个花括号里,按数组排列顺序对各个元素赋初值
例如:
int array[2][3]={5,4,3,2,1,0};
- 对部分元素赋初值
- 如果对全部元素赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省略。
例如:
int array[][3]={5,4,3,2,1,0};
6.2.3 二维数组应用
任意输入一个三行三列的二维数组,求对角之和。
#include<iostrean>
#include<stdio.h>
using namespace std;
int main()
{ int i,j,sum=0;
int a[3][3];
printf("please input\n");
for(i=0;i<3;i++)
{for(i=0;j<3;j++)
scanf("%d",&a[i][j]);
}
for(i=0;i<3;i++)
{for(i=0;j<3;j++)
{if(i==j)
sum=sum+a[i][j];}
}
printf("the result is:%d\n",sum);
return 0;
}
结果