fork download
  1. #include <stdio.h>
  2. int score_list[100]; //最大100個までの点数を格納する配列
  3. int size = 0; //score_listに格納されている点数の個数
  4. void record(int score)
  5. {
  6. score_list[size] = score;
  7. size++;
  8. }
  9. double average(void)
  10. {
  11. int i;
  12. float sum=0;
  13. double ans;
  14. for(i = 0; i < size + 1 ; i++)
  15. {
  16. sum += score_list[i];
  17. }
  18. ans = sum / size;
  19. return ans;
  20. }
  21. double cond_average(int a,int b)
  22. {
  23. int i;
  24. float sum=0,count=0;
  25. double ans=0;
  26. for(i = 0; i < size + 1 ; i++)
  27. {
  28. if(score_list[i] >= a && score_list[i] < b)
  29. {
  30. sum += score_list[i];
  31. count++;
  32. }
  33. }
  34. if(count != 0)
  35. {
  36. ans = sum / count;
  37. }
  38. return ans;
  39. }
  40. int main(void)
  41. {
  42. int i, score,a,b;
  43. for( i = 0; i < 5; i++ )
  44. {
  45. scanf("%d", &score);
  46. printf("%d人目:%d点\n", i+1, score);
  47. record(score);
  48. }
  49. printf("平均点:%lf点\n", average());
  50. printf("aとbの値を入力してください。\n");
  51. scanf("%d %d", &a,&b);
  52. printf("%d点以上%d点未満の人の平均点は %lf 点です",a,b,cond_average(a,b));
  53. return 0;
  54. }
Success #stdin #stdout 0s 5320KB
stdin
10
20
30
40
23
20
50
stdout
1人目:10点
2人目:20点
3人目:30点
4人目:40点
5人目:23点
平均点:24.600000点
aとbの値を入力してください。
20点以上50点未満の人の平均点は 28.250000 点です