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