【C语言练习题】判断单位矩阵

《C和指针》习题8.8

 

问题

3.单位矩阵就是一个正方形矩阵,它除了主对角线元素值为1以外,其余元素的值均为0,例如:
 *1 0 0
 *0 1 0
 *0 0 1
 *就是一个3×3单位矩阵,编写一个名叫identity_matrix的函数,它接受一个10×10整型矩阵为参数
 *成功返回1,失败返回1

4、修改前一个问题中的identity_matrix函数,它可以对数组进行扩展,从而能够接受任意大小的矩阵参数。函数的第一个参数应该是一个整型指针,你需要第二个参数,用于指定矩阵的大小。
 

 

代码

#include <stdio.h>

#define N 10

int identity_matrix( int (*matrix)[N] );
int identity_matrix_new( int *matrix, int number );

void main(void)
{
	int matrix[][N] = {//这是一个10*10的单位矩阵
			{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
			{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 },
			{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
			{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
			{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
			{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 },
			{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 },
			{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
			{ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 },
			{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
		};

	int result = identity_matrix( matrix );	//方式1
	if( 0 == result ) printf("sucess!!!\n");
	else printf("failed!!\n");


	result = identity_matrix_new( matrix, 10 );	//方式2
	if( 0 == result ) printf("sucess!!!\n");
	else printf("failed!!\n");
}

/*
 *判断单位矩阵  阶数固定为10
 *输入: matrix指针数组
 *返回:0成功 1失败
 */
int identity_matrix( int (*matrix)[N] )
{
	int i=0,j=0;

	for(i=0;i<N;i++)
	{
		for(j=0;j<N;j++)
		{
			if( i == j && matrix[i][j] != 1 ) return 1;
			else if( i != j && matrix[i][j] !=0 ) return 1;
		}
	}
	return 0;
}



/*
 *判断单位矩阵new 指定阶数
 *输入: matrix整形指针 number矩阵阶数
 *返回:0成功 1失败
 */
int identity_matrix_new( int *matrix, int number )
{
	int i=0,j=0;

	for(i=0;i<number;i++)
	{
		for(j=0;j<number;j++)
		{
			if( i == j && *(matrix+i*number+j) != 1 ) return 1;
			else if( i != j && *(matrix+i*number+j) !=0 ) return 1;
		}
	}
	return 0;
}

 

展示

全部评论

相关推荐

昨天 22:30
吉林大学 Java
同专业学长学姐,去互联网大厂的起薪&nbsp;15k+,去国企&nbsp;IT&nbsp;岗的也有&nbsp;12k+,就连去中小厂的都基本&nbsp;13k&nbsp;起步😤&nbsp;我投的传统行业技术岗,拼死拼活拿到&nbsp;1Woffer,本来还挺开心,结果逛了圈牛客直接破防,同是校招生,行业差距怎么就这么大啊!
喵喵喵6_6:应该哪里不对吧,大厂都是20k以上的,10k那种对于985本的学生基本就是点击一下过了笔试就送的,我前两天刚拿了一个11k,笔试完第2天就打电话了,非科班。坏消息是c++岗开这么低真是刷新认知了
校招生月薪1W算什么水平
点赞 评论 收藏
分享
09-17 19:25
已编辑
太原理工大学 游戏测试
叁六玖:公司名发我,我要这个HR带我打瓦
我的秋招日记
点赞 评论 收藏
分享
酷酷的喜马拉雅山:感觉这比一直在初筛不动的好多了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务