クレヨン1 2022-05-31 22:28 采纳率: 88.2%
浏览 109
已结题

有关三次元外积的计算

img

需要设计一个计算三次元外积的程序

例:
输入
4
12 68 -49
5649 657 -481
4968 354 -42
-857 574 444
输出
-681954116 1809081590 1481486766

  • 写回答

2条回答 默认 最新

  • WaitIKnowYou 2022-05-31 23:59
    关注

    做题不易
    有用请采纳

    #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;
    }
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月1日
  • 已采纳回答 6月1日
  • 修改了问题 5月31日
  • 创建了问题 5月31日