要求给定矩阵,输出其上三角矩阵或下三角矩阵
源代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
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;
}
}
}
结果如下:
当然:下三角矩阵只需要改动for循环中的范围即可:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
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;
}
}
}
结果如下: