fork download
  1. #include <stdio.h>
  2. #define N 3
  3.  
  4. void input(double *v){/***ベクトルに値を代入する関数***/
  5. int i;
  6. for(i=0;i<N;i++){
  7. printf("ベクトルを入力してください");
  8. scanf("%lf",&v[i]);
  9. }
  10. }
  11.  
  12. void print(double *v){/***ベクトルを表示する関数***/
  13. int i;
  14. printf("(");
  15. for(i=0;i<N;i++)
  16. printf("%.1f ",v[i]);
  17. printf(")\n");
  18. }
  19.  
  20. double inner_product(double *a, double *b){/***内積を求める関数***/
  21. int i;
  22. double p=0.0;
  23. for(i=0;i<N;i++)
  24. p+=a[i]*b[i];
  25. return(p);
  26. }
  27.  
  28. void exterior_product(double *c, double *a, double *b){/***外積を求める関数***/
  29. c[0]=a[1]*b[2]-a[2]*b[1];
  30. c[1]=a[2]*b[0]-a[0]*b[2];
  31. c[2]=a[0]*b[1]-a[1]*b[0];
  32. }
  33.  
  34. int main(void){
  35. double a[N],b[N],c[N];
  36.  
  37. input(a);/***ベクトルaを入力***/
  38. input(b);/***ベクトルbを入力***/
  39.  
  40. printf("a=");
  41. print(a);/***ベクトルaを表示***/
  42.  
  43. printf("b=");
  44. print(b);/***ベクトルbを表示***/
  45.  
  46. printf("内積: %f\n",inner_product(a,b));/***内積を求めて表示***/
  47.  
  48. printf("外積:");
  49. exterior_product(c,a,b);/***外積を求める***/
  50. print(c);/***配列dを表示***/
  51.  
  52. return(0);
  53. }
  54.  
Success #stdin #stdout 0.02s 1724KB
stdin
Standard input is empty
stdout
ベクトルを入力してくださいベクトルを入力してくださいベクトルを入力してくださいベクトルを入力してくださいベクトルを入力してくださいベクトルを入力してくださいa=(0.0 -0.0 0.0 )
b=(0.0 0.0 0.0 )
内積: -0.000000
外積:(-0.0 -0.0 0.0 )