
需要设计一个计算三次元外积的程序
例:
输入
4
12 68 -49
5649 657 -481
4968 354 -42
-857 574 444
输出
-681954116 1809081590 1481486766

需要设计一个计算三次元外积的程序
例:
输入
4
12 68 -49
5649 657 -481
4968 354 -42
-857 574 444
输出
-681954116 1809081590 1481486766
做题不易
有用请采纳
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
typedef struct
{
long x;
long y;
long z;
}Node;
Node V[10];
Node result = { 0 };
int n, b = 1;
Node calc(Node p, Node q, int count)
{
//(a1,a2,a3)x(b1,b2,b3)=(a2b3-a3b2,a3b1-a1b3,a1b2-a2b1)
result.x = p.y * q.z - p.z * q.y;
result.y = p.z * q.x - p.x * q.z;
result.z = p.x * q.y - p.y * q.x;
if (count == 2)
return result;
else
return calc(result, V[++b], --count);//递归运算
}
int main()
{
int i;
scanf("%d", &n);//向量个数
for (i = 0;i < n;i++)
{
scanf("%d%d%d", &V[i].x, &V[i].y, &V[i].z);
}
calc(V[0], V[b],n);//递归运算
printf("%ld %ld %ld", result.x, result.y, result.z);
return 0;
}
