1.一维数组的定义和引用,一维数组的初始化及程序。
2.二维数组的定义和引用,二维数组的初始化及程序。
3.字符数组的定义、引用及初始化,字符串和字符串结束标志,字符数组的输入输出,字符数组编程应用。
附:有关数组的部分编程题
1.求3*4矩阵中的最大值
#include<stdio.h>
int maxValue(int arr[][4]){
int i,j,max;
max=arr[0][0];
for(i=0;i<3;i++){
for(j=0;j<4;j++){
if(arr[i][j]>max){
max=arr[i][j];
}
}
}
return max;
}
int main(){
int a[3][4]={{5,3,2,7},{56,34,28,9},{12,88,45,4}};
printf("输出的最大值是:%d", maxValue(a));
}
2.输出n阶奇数魔方阵
#define N 5
#include<stdio.h>
int main()
{
int a[N][N],i,j,k;
for(i=0;i<N;i++) /*先处理第一行*/
for(j=0;j<N;j++){
a[i][j]=0; /*先令所有元素都为0*/
}
j=(N-1)/2; /*判断j的位置*/
a[0][j]=1; /*将1放在第一行中间一列*/
for(k=2;k<=N*N;k++) /*再从2开始处理*/
{
i=i-1; /*存放的行比前一个数的行数减1*/
j=j+1; /*存放的列比前一个数的列数加1*/
if((i<0)&&(j==N)) /*前一个数是第一行第N列时,把下一个数放在上一个数的下面*/
{
i=i+2;
j=j-1;
}
else
{
if(i<0) /*当行数减到第一行,返回到最后一行*/
i=N-1;
if(j>N-1) /*当列数加到最后一行,返回到第一行*/
j=0;
}
if(a[i][j]==0) /*如果该元素为0,继续执行程序*/
a[i][j]=k;
else /*如果该元素不为0,就说明要填的数的位置已经被占,则该数放在上一个数的下面*/
{
i=i+2;
j=j-1;
a[i][j]=k;
}
}
for(i=0;i<N;i++) /*输出数组*/
{
for(j=0;j<N;j++)
printf("%5d",a[i][j]);
printf("\n\n");
}
}