fork(1) download
  1. #include <stdio.h>
  2.  
  3. int score_list[100];
  4. int size = 0;
  5.  
  6. void record(int score) {
  7. score_list[size]=score;
  8. size++;
  9. }
  10.  
  11. double average(void) {
  12. int sum=0;
  13. for(int i=0;i<size;i++){
  14. sum+=score_list[i];
  15. }
  16. return (double)sum/size;
  17. }
  18.  
  19. double cond_average(int a,int b){
  20. int sum=0;
  21. int count=0;
  22. for(int i=0;i<size;i++){
  23. if (score_list[i]>=a && score_list[i]<b){
  24. sum+=score_list[i];
  25. count++;
  26. }
  27. }
  28. if (count==0){
  29. return 0;
  30. }
  31. return (double)sum/count;
  32. }
  33.  
  34. int main(void) {
  35. int i,score;
  36. int a,b;
  37.  
  38. for (i = 0; i < 5; i++) {
  39. scanf("%d", &score);
  40. printf("%d人目:%d点\n", i + 1, score);
  41. record(score);
  42. }
  43.  
  44. printf("平均点:%.2lf点\n", average());
  45.  
  46. printf("a点以上b点未満の平均を求めます。\n");
  47. scanf("%d %d", &a, &b);
  48.  
  49. printf("%d点以上%d点未満の平均点:%.2lf点\n", a, b, cond_average(a, b));
  50.  
  51. return 0;
  52. }
  53.  
Success #stdin #stdout 0s 5304KB
stdin
34 52 12 43 61 13
stdout
1人目:34点
2人目:52点
3人目:12点
4人目:43点
5人目:61点
平均点:40.40点
a点以上b点未満の平均を求めます。
13点以上5445点未満の平均点:47.50点