编写一个名为identity_matrix的函数,他接受一个 10*10整型矩阵为参数,并返回一个布尔值,提示该矩阵是不 是单位矩阵。

来源:互联网 发布:呢大衣起球 知乎 编辑:程序博客网 时间:2024/04/29 19:56
/**************************************** *  File Name  : identity_matrix.c *  Creat Data : 2015.1.21*  Author     : ZY *****************************************/ /*编写一个名为identity_matrix的函数,他接受一个10*10整型矩阵为参数,并返回一个布尔值,提示该矩阵是不是单位矩阵。*/#include <stdio.h>int identity_matrix(int *arr[10][10]){int i,j;for( i = 0;i < 10;++i ){for(j = 0 ;j <10 ;++j ){if(i == j && arr[i][j] != 1){return 0;}if(i != j && arr[i][j] != 0){return 0;}}}return 1;}int main(){int brr[10][10];int i,j;for(i = 0;i<10;++i){for(j = 0;j< 10;++j){scanf("%d",*(brr+i)+j);}}printf("%d\n",identity_matrix(brr));return 0;}






修改上述函数,他可以对数组进行扩展,从而能够接受任意大小的矩阵参数。函数的第一个参数应该是一个整形指针,你需要第二个参数用于指定矩阵的大小。

#include <stdio.h>int identity_matrix(int *arr[10][10],int n){int i,j;for( i = 0;i < n;++i ){for(j = 0 ;j  < n ;++j ){if(i == j && arr[i][j] != 1){return 0;}if(i != j && arr[i][j] != 0){return 0;}}}return 1;}int main(){int brr[10][10];int i,j;int n;printf("Please input matrix size:\n");scanf("%d",&n);printf("Please input matrix:\n");for(i = 0;i < n;++i){for(j = 0;j < n;++j){scanf("%d",*(brr+i)+j);}}printf("%d\n",identity_matrix(brr,n));return 0;}



0 0
原创粉丝点击