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 |
|