Guest User

Untitled

a guest
Nov 20th, 2018
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.04 KB | None | 0 0
  1. /**
  2. * @file q13199335908.c
  3. * @brief q13199335908
  4. * @author Keitetsu
  5. * @date 2018/11/20
  6. * @copyright Copyright (c) 2018 Keitetsu
  7. * @par License
  8. * This software is released under the MIT License.
  9. */
  10.  
  11. #include <stdio.h>
  12. #include <string.h>
  13. #include <math.h>
  14.  
  15.  
  16. #define INPUT_MAX 20
  17.  
  18.  
  19. void get_max_min(int *array, int n, int *max, int *min);
  20.  
  21.  
  22. void calc_stddev(int *array, int n, double mean, double *stddev);
  23.  
  24.  
  25. int main(void)
  26. {
  27. int num[INPUT_MAX];
  28. int num_temp;
  29. int count;
  30. int i;
  31. int max;
  32. int min;
  33. int sum; /* 合計 */
  34. double mean; /* 平均 */
  35. double stddev; /* 標準偏差 */
  36.  
  37. count = 0;
  38. memset(num, 0, INPUT_MAX);
  39. while (count < INPUT_MAX) {
  40. printf("num[%d] ", count);
  41. scanf("%d", &num_temp);
  42. if (num_temp == 0) {
  43. break;
  44. }
  45. num[count] = num_temp;
  46. count++;
  47. }
  48. printf("count = %d\n", count);
  49. for(i = 0; i < count; i++) {
  50. printf("num[%d] = %d\n", i, num[i]);
  51. }
  52.  
  53. get_max_min(num, count, &max, &min);
  54. printf("max = %d\n", max);
  55. printf("min = %d\n", min);
  56.  
  57. sum = 0;
  58. for (i = 0; i < count; i++) {
  59. sum += num[i];
  60. }
  61. printf("sum = %d\n", sum);
  62.  
  63. mean = (double)sum / count;
  64. printf("mean = %lf\n", mean);
  65.  
  66. calc_stddev(num, count, mean, &stddev);
  67. printf("stddev = %lf\n", stddev);
  68.  
  69. return 0;
  70. }
  71.  
  72.  
  73. void get_max_min(int *array, int n, int *max, int *min)
  74. {
  75. int max_temp;
  76. int min_temp;
  77. int i;
  78.  
  79. max_temp = array[0];
  80. min_temp = array[0];
  81. for(i = 0; i < n; i++) {
  82. if (max_temp < array[i]) {
  83. max_temp = array[i];
  84. }
  85. if (min_temp > array[i]) {
  86. min_temp = array[i];
  87. }
  88. }
  89.  
  90. *max = max_temp;
  91. *min = min_temp;
  92.  
  93. return;
  94. }
  95.  
  96.  
  97. void calc_stddev(int *array, int n, double mean, double *stddev)
  98. {
  99. int i;
  100. double var;
  101.  
  102. var = 0.0;
  103. for (i = 0; i < n; i++) {
  104. var += ((array[i] - mean) * (array[i] - mean));
  105. }
  106.  
  107. *stddev = sqrt(var / n);
  108.  
  109. return;
  110. }
Add Comment
Please, Sign In to add comment