二维矩阵的算法
2021-03-11 12:31
                         标签:ret   mamicode   分析   mic   一个   源程序   最大值   std   回车换行    源程序: /* 	//副对角线之和  运行结果: 二维矩阵的算法 标签:ret   mamicode   分析   mic   一个   源程序   最大值   std   回车换行    原文地址:https://www.cnblogs.com/duanqibo/p/14127937.html
//1、二维矩阵原样输出
//2、转90度输出
//3、每行最后增加一个元素,变成正方形矩阵输出
//4、求矩阵中的最大值和最小值
//5、求主对角线和副对角线之和
*/
#include 
int main()
{
	int Numbers[4][3]={1,1,1,
	2,4,8,
	3,9,27,
	4,16,64};
	int Num[4][4]={1,1,1,0,
	2,4,8,0,
	3,9,27,0,
	4,16,64,0,};
	int i,j;  //i和j是循环变量,i表示行,j表示列
	printf("原二维数组如下:\n");
	for(i=0;i	{
		for(j=0;j		{
			printf("%3d",Numbers[i][j]);
		}
		printf("\n");  //每输出一行,回车换行
	}
	printf("\n");
	printf("转置以后的二维数组:\n");
	for(i=0;i	{
		for(j=0;j		{
			printf("%3d",Numbers[j][i]);
		}
		printf("\n");  //每输出一行,回车换行
	}
	printf("\n");
	//在二维数组中输出最大值和最小值
	int max,min;
	max=min=Numbers[0][0];
	for(i=0;i	{
		for(j=0;j		{
			if(Numbers[i][j]>max)
				max=Numbers[i][j];
			if(Numbers[i][j]
		}
		//printf("\n");  //每输出一行,回车换行
	}
	printf("矩阵中的最大值为:%d\t,最小值为:%d\n",max,min);
	//二维数组每行最后加一个元素
	printf("\n二维矩阵每行最后增加一个元素8\n");
	int add[4]={8,8,8,8};
	for(i=0;i	{
		Num[i][3]=add[i];
	}
	for(i=0;i	{
		for(j=0;j		{
			printf("%3d",Num[i][j]);
		}
		printf("\n");
	}
	//二维矩阵对角线之和
	printf("\n");
	int sum=0;
	for(i=0;i	{
		sum=sum+Num[i][i];
	}
	printf("主对角线之和为:%d\n",sum);
	int sum1=0;
	for(i=0;i	{
			sum1=sum1+Num[i][3-i];
	}
	//		Num[0][3];  //分析的过程
	//		Num[1][2];
	//		Num[2][1];
	//		Num[3][0];
	printf("副对角线之和为:%d\n",sum1);
	return 1;
}