江苏省XY中等专业学校2022-2023-1教案    编号:
备课组别
计算机
二维字符串数组怎么定义课程名称
C语言
所在
年级
三年级
教师
授课教师
授课
系部
授课班级
授课
日期
课题
二维数组的应用
教学
目标
1、二维数组与矩阵的应用
2、与一位数组比较应用
3、结合双重循使用
重点
二维数组与双重循环结合
难点
矩阵的分析与理解
教法
讲授法、案例教学法、讨论法
教学设备
黑板  计算机  网络机房
教学
环节
教学活动内容及组织过程
个案补充
一、导入:
矩阵由行列组成,所以用二维数组和双重循环  来解决此类问题。
二、讲授:
例题分析
求n×n矩阵a的上三角形元素之积。其中矩阵的行数、列数和全部元素值均由键盘输入,编程时取n<=10。上三角形元素如图所示。
分析:
本题的关键是如何表达上三角形元素,即数组元素的下标从什么数变化到什么数?设3×3矩阵,第1行的3个数,行标为0,列标为0、1、2;第2行的右边2个数,行标为1,列标为1、2;第3行的右边1个数,行标为2,列标为2。是什么规律?行标i从0~n-1,列标j从i~n-1。
程序如下:
main( )
{
  int i,j,n;
  long u=1;
  int a[10][10];
  printf("Enter n (n<=10): \n");
  scanf("%d",&n);
  printf("Enter the data on each line for the array: \n");
  for (i=0;i<n;i++)
  for (j=0;j<n;j++)
  scanf("%d",&a[i][j]);
  for (i=0;i<n;i++)
  for (j=i;j<n;j++)
  u*=a[i][j];
  printf("The result is : %ld \n",u);
}
运行结果为:
Enter n (n<=10):
3↙
Enter the data on each line for the array:
1  3  5  7  9  -2  -4  -6  -8↙
The result is : 2160
请思考:画出描述算法的流程图或N-S图。
求3×3矩阵的主对角线上的元素之和,以及另一条对角线上的元素之和。按行排,矩阵各元素的值分别是35、4、5、10、20、30、-9、-8、-7。主对角线上的元素以及另一条对角线上的元素如图所示。
分析:
本题与上一例题一样,仍然是数组元素的下标的变化规律。请自己一。
程序如下:
main( )
{int a[3][3]={{35,4,5},{10,20,30},{-9,-8,-7}};
  int i,j,sum1=0,sum2=0;
  for (i=0;i<3;i++)
  for (j=0;j<3;j++)
  if (i==j) sum1=sum1+a[i][j];
  for (i=0;i<3;i++)
  for (j=2;j>=0;j--)
  if((i+j)==2) sum2=sum2+a[i][j];
  printf("sum1=%d,sum2=%d\n",sum1,sum2);
}
运行结果为:
sum1=48,sum2=16
扩展1、求二维数组(5*5)中最大元素值及其行列号
#include<stdio.h>
main()
{  int a[5][5],i,j;
    for(i=0;i<5;i++)
    { for(j=0;j<5;j++)
        scanf("%d",&a[i][j]);
    }
    int sum=a[0][0],x,y;
    for(i=0;i<5;i++)
    {
    for(j=0;j<5;j++)
    {
    if(sum<a[i][j])
    {  sum=a[i][j];
        x=i;
        y=j;}
}
    printf("a[%d][%d]=%d",x,y,sum);
}
}
一维数组的应用
一、例题分析
二、总结归纳
三、扩展练习
教 后 札 记

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。