上三角矩阵下三角矩阵

要求给定矩阵,输出其上三角矩阵或下三角矩阵

源代码如下:

#include 
#include 
#include 
#include 
const int M = 5;
void proc(int array[M][M]);
void main()
{
	srand((unsigned)time(NULL));
	int a[M][M];
	int i,j;
	printf("original array is :\n");
	for (i = 0; i < M; i++)
	{
		for (j = 0; j < M; j++)
		{
			a[i][j] = rand()%10;
			printf(" %d ",a[i][j]);
		}
		printf("\n");
	}
	proc(a);
	printf("result array is :\n");
	for (i = 0; i < M; i++)
	{
		for (j = 0; j < M; j++)
		{
			printf(" %d ",a[i][j]);
		}
		printf("\n");
	}
	getch();

}
void proc(int a[M][M])
{
	int i,j;
	
	for (i = 0; i < M; i++)
	{
		for (j = 0; j <= i; j++)
		{
			a[i][j] = 0;
		}
	}
}
结果如下:

上三角矩阵下三角矩阵_第1张图片

当然:下三角矩阵只需要改动for循环中的范围即可:

#include 
#include 
#include 
#include 
const int M = 5;
void proc(int array[M][M]);
void main()
{
	srand((unsigned)time(NULL));
	int a[M][M];
	int i,j;
	printf("original array is :\n");
	for (i = 0; i < M; i++)
	{
		for (j = 0; j < M; j++)
		{
			a[i][j] = rand()%10;
			printf(" %d ",a[i][j]);
		}
		printf("\n");
	}
	proc(a);
	printf("result array is :\n");
	for (i = 0; i < M; i++)
	{
		for (j = 0; j < M; j++)
		{
			printf(" %d ",a[i][j]);
		}
		printf("\n");
	}
	getch();

}
void proc(int a[M][M])
{
	int i,j;
	
	for (i = 0; i < M; i++)
	{
		for (j = i; j < M; j++)
		{
			a[i][j] = 0;
		}
	}
}
结果如下:

上三角矩阵下三角矩阵_第2张图片


你可能感兴趣的:(C语言)