实验三:数组(二)
1、实验目的
    1)掌握二维数组的定义。
(2)掌握二维数组的赋值和输入输出的方法。
(3)掌握二维数组的一些处理方法。
二、实验内容
编程序并上机调试运行。
1、由键盘对4×4的二维数组初始化,计算其两条对角线元素之和并输出。
代码:
#include "stdio.h"
void main()
{
  int a[4][4],sum=0;
  int i,j;
  printf("enter data:\n");
  for(i=0;i<4;i++)
      for(j=0;j<4;j++)
        scanf("%d",&a[i][j]);
    for(i=0;i<=3;i++)
    {
            for(j=0;j<=3;j++)
            printf("%d\t",a[i][j]);
            printf("\n");
    }
       
  for(i=0;i<4;i++)
  {
      sum=sum+a[i][i];
      sum=sum+a[i][3-i];
  }
  printf("sum=%d\n",sum);
}
结果:
2、通过二维数组实现杨辉三角的前10行并输出。杨辉三角形式请参考教材P153
代码:
#include <stdio.h>怎么定义二维数组c语言
#define N 11
void main()
{
    int i,j,a[N][N];
    for(i=1;i<N;i++)
    {
        a[i][1]=1;
        a[i][i]=1;
    }
    for(i=3;i<N;i++)
      for(j=2;j<=i-1;j++)
      a[i][j]=a[i-1][j-1]+a[i-1][j];
    for(i=1;i<N;i++)
    {
        for(j=1;j<N-i;j++)
        printf("  ");
        for(j=1;j<=i;j++)
          printf("%6d",a[i][j]);
        printf("\n");
    }
    printf("\n");
}
结果:
3、将M×N的矩阵转置成N×M的矩阵并输出。
  代码:
#include<stdio.h>
#define M 4
#define N 3
void main()
{
    int a[M][N],b[N][M] ;
    int i,j ;
   
    printf("Input date :") ;
    for(i = 0;i < M;i ++)
        for(j = 0;j < N;j++)
        {
            scanf("%d",&a[i][j]) ;   
        }
    printf("array a:\n") ;
    for(i = 0;i < M;i ++)
    {
        for(j = 0;j < N;j ++)
        {
            printf("%4d",a[i][j]) ;
            b[j][i]=a[i][j] ;   
        }
        printf("\n") ;
    }
    printf("\n") ;
    printf("array b:\n") ;
    for(i = 0;i < N;i ++)
    {
        for(j = 0;j < M;j ++)
        {
            printf("%4d",b[i][j]) ;   
        }
        printf("\n") ;
    }   
}
结果:

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