方阵对角线元素乘积计算

/*------------------------------------------------

【程序设计】


功能:求n阶方阵主、副对角线上的元素之积。

------------------------------------------------*/

#define N 4

#include "stdlib.h"

#include <stdio.h>

void wwjt();

float mul(int arr[][N])

{

/**********Program**********/

float pro = 1.0;

int i = 0;

for (i = 0; i < N; i++)

{

pro *= arr[i][i];

pro *= arr[i][N - i - 1];

}

if (N % 2 == 0)

{

return pro;

}

else

{

return (pro - arr[N / 2][N / 2]);

}

/********** End **********/

}

int main()

{

srand((unsigned int)time(NULL));

int a[N][N], i, j;

for (i = 0; i < N; i++)

for (j = 0; j < N; j++)

a[i][j] = rand() % (10);

for (i = 0; i < N; i++)

{

for (j = 0; j < N; j++)

printf("%4d", a[i][j]);

printf("\n");

}

printf("The sum is %f\n", mul(a));

wwjt();

return 0;

}

void wwjt()

{

FILE* IN, * OUT;

int m, n;

int i[4][4];

float o;

IN = fopen("in.dat", "r");

if (IN == NULL)

{

printf("Read FILE Error");

}

OUT = fopen("out.dat", "w");

if (OUT == NULL)

{

printf("Write FILE Error");

}

for (m = 0; m < 100; m++)

for (n = 0; n < 100; n++)

{

fscanf(IN, "%d", &i[m][n]);

}

o = mul(i);

fprintf(OUT, "%f\n", o);

fclose(IN);

fclose(OUT);

}

相关推荐
想逃离铁厂的老铁2 小时前
Day43 >> 300.最长递增子序列 + 674. 最长连续递增序列+ 718. 最长重复子数组
数据结构·算法
Yzzz-F2 小时前
P6648 [CCC 2019] Triangle: The Data Structure [st表]
算法
LateFrames2 小时前
泰勒级数:从 “单点” 到 “理论与实践的鸿沟”
学习·算法
武帝为此2 小时前
【RC4加密算法介绍】
网络·python·算法
宵时待雨2 小时前
数据结构(初阶)笔记归纳4:单链表的实现
c语言·开发语言·数据结构·笔记·算法
wm10432 小时前
代码随想录第三天 链表
数据结构·链表
BLSxiaopanlaile3 小时前
关于子集和问题的几种解法
数据结构·算法·剪枝·回溯·分解
狐573 小时前
2026-01-17-LeetCode刷题笔记-3047-求交集区域内的最大正方形面积
笔记·算法·leetcode
Yzzz-F3 小时前
P3509 [POI 2010] ZAB-Frog[单调队列+倍增快速幂思想]
算法