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