fork download
  1. //---------------------------------------------------------------------------
  2. // 以下の 3つのソース
  3. // ・ipowruijo.h
  4. // ・ipowruijo.c
  5. // ・kadai143.c
  6. // を用意し、
  7. // $ gcc -o kadai143 -Wall kadai143.c ipowruijo.c
  8. // でビルドして kadai143 を作成
  9. //---------------------------------------------------------------------------
  10. // ipowruijo.h
  11. #ifndef __IPOWRUIJO_H__
  12. #define __IPOWRUIJO_H__
  13.  
  14. extern double ruijo(double y, int m);
  15. extern double ipow(double x, int n);
  16.  
  17. #endif//__IPOWRUIJO_H__
  18. // End of ipowruijo.h
  19. //---------------------------------------------------------------------------
  20. // ipowruijo.c
  21. #include "ipowruijo.h"
  22.  
  23. double ruijo(double y, int m)
  24. {
  25. int i;
  26. double mult;
  27. mult = 1.0;
  28. for (i = 0; i < m; i++) {
  29. mult *= y;
  30. }
  31.  
  32. return mult;
  33. }
  34.  
  35. double ipow(double x, int n)
  36. {
  37. double res;
  38. int i;
  39. if (n >= 0) {
  40. res = ruijo(x, n);
  41. } else {
  42. res = 1.0 / ruijo(x, -n);
  43. }
  44.  
  45. return res;
  46. }
  47.  
  48. // End of ipowruijo.c
  49. //---------------------------------------------------------------------------
  50. // kadai143.c
  51. // 参考課題
  52.  
  53. #include <stdio.h>
  54. #include "ipowruijo.h"
  55.  
  56. int main()
  57. {
  58. double num, ans;
  59. int i;
  60.  
  61. printf("整数を入力してください\n");
  62. scanf("%lf", &num);
  63.  
  64. for (i = -5; i <= 5; i++) {
  65. ans = ipow(num, i);
  66. printf("%f の %d 乗の値:%f\n", num, i, ans);
  67. }
  68.  
  69. return 0;
  70. }
  71.  
  72. // End of kadai143.c
  73. //---------------------------------------------------------------------------
  74.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
2.5
compilation info
prog.c:21:23: error: ipowruijo.h: No such file or directory
prog.c: In function ‘ipow’:
prog.c:38: warning: unused variable ‘i’
prog.c: In function ‘main’:
prog.c:62: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result
stdout
Standard output is empty