实验三:数组(二)
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小时内删除。
发表评论