一.知识点
1.二维数组的定义和引用
类型名 数组名[行长度][列长度];
引用:数组名[行下标][列下标] 行下标合理范围值是[0,行长度-1],列下标合理取值范围是[0,列长度-1],所以类似九九乘法表就不能是a[9][9],要是a[10][10]。
2.二维数组的初始化
分行赋值:类型名 数组名 [行长度][列长度]={{初值表0},...,{初值表k},...};
顺序赋值:类型名 数组名 [行长度][列长度]={初值表}
3.矩阵术语和二维数组对应关系
主对角线:从矩阵左上角到右下角连线(i==j)
上三角:主对角线以上的部分(i<=j)
下三角:主对角线以下的部分(i>=j)
副对角线:从矩阵右上角到左下角的连线(i+j==N-1)
N:设N为正整数,定义一个N行N列的二维数组a,二维数组a表示n*n的方阵。
二.实验心得
要时刻注意二维数组行列下标是从0开始,但是矩阵一类的行列是从1开始的.所以导致我有时候行列的数不对,一旦错后面就成乱码了。
对元素赋初始值是要注意书写顺序。
作业9代码
#include<stdio.h> int main() { int i,j; int a[10][10]; for(i=1;i<10;i++){ for(j=1;j<10;j++){ a[i][j]=i*j; printf("%d*%d=%d ",i,j,a[i][j]); } printf(" "); } return 0; }
#include<stdio.h> int main() { char a[80],b; int i; int k; printf("请输入一个字符:"); for(i=0;(a[i]=getchar())!=' ';i++); a[i]='