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 ans,sum=0,i;
  12. for(i = 0; i < size + 1 ; i++)
  13. {
  14. sum += score_list[i];
  15. }
  16. ans = sum / size;
  17. return ans;
  18. }
  19. double cond_average(int a,int b)
  20. {
  21. int ans=0,sum=0,count=0,i;
  22. for(i = 0; i < size + 1 ; i++)
  23. {
  24. if(score_list[i] >= a && score_list[i] < b)
  25. {
  26. sum += score_list[i];
  27. count++;
  28. }
  29. }
  30. if(count != 0)
  31. {
  32. ans = sum / count;
  33. }
  34. return ans;
  35. }
  36. int main(void)
  37. {
  38. int i, score,a,b;
  39. for( i = 0; i < 5; i++ )
  40. {
  41. scanf("%d", &score);
  42. printf("%d人目:%d点\n", i+1, score);
  43. record(score);
  44. }
  45. printf("平均点:%lf点\n", average());
  46. printf("aとbの値を入力してください。\n");
  47. scanf("%d %d", &a,&b);
  48. printf("%d点以上%d点未満の人の平均点は %lf 点です",a,b,cond_average(a,b));
  49. return 0;
  50. }
Success #stdin #stdout 0s 5324KB
stdin
10
20
30
40
23
20
50
stdout
1人目:10点
2人目:20点
3人目:30点
4人目:40点
5人目:23点
平均点:24.000000点
aとbの値を入力してください。
20点以上50点未満の人の平均点は 28.000000 点です