1.已知二維向量 (x,y) , 其結構如下定義,請寫一副程式dot,計算兩向量內積。(假設均為整數型態)
struct vector{
    int x , y;
};

int dot(struct vector , struct vector);

int main(){
    struct vector a,b;
    printf("輸入 a 向量的 x 與 y :");scanf("%d %d", a.x, a.y);
    printf("輸入 b 向量的 x 與 y :");scanf("%d %d", b.x, b.y);
    printf("兩向量內積為 : %d\n" , dot(a, b));
    return(0);
}

int dot(struct vector p, struct vector q){

}

解答

註:已知向量 a = (x1, y1),b = (x2 , y2) ,則 a∙b = x1*x2+y1*y2
2.已知複數 a=x+yi (x 為實數,y 為虛數),寫一結構定義複數,並寫一函數計算兩複數之和與積。 (假設均為整數型態)

struct complex{

};

    struct complex complexMuti(struct complex , struct complex);
    struct complex complexAdd(struct complex , struct complex);

int main(){
    struct complex a, b, c;
    printf("請輸入複數 a 的實數 x 與虛數 y :");scanf("%d %d", , );
    printf("請輸入複數 b 的實數 x 與虛數 y :");scanf("%d %d", , );
    c=complexAdd(a , b);
    printf("複數 a 與 b 的和為 : %d+%di\n", ,);
    c=complexMuti(a , b);
    printf("複數 a 與 b 的積為 : %d+%di\n", ,);
}

解答

註:已知複數 a = x1+ y1i,b = x2 + y2i ,則
a+b = (x1+x2)+(y1+y2)i
a*b = ( (x1*x2) - (y1*y2) ) + (x1*y2+x2*y1)i