fork download
  1. #include <stdio.h>
  2. int acc(int x){ // 更新はacc関数の内部のみ
  3. static int sum=0;
  4. static int count=0;
  5. if(x==-1){
  6. sum=0;
  7. count=0;
  8. }
  9. else if (x == 0) {
  10. return sum;
  11. }
  12. else if(x==-2){
  13. return count;
  14. }
  15.  
  16. else {
  17. sum=sum+x;
  18. count++;
  19. }
  20. return 0;
  21. } //上記は例であり、acc関数の内部は自由に書き換えてよい
  22. int main(){
  23. int score, num, i;
  24. double ave;
  25. printf("数字の個数を入力してください:");
  26. scanf("%d", &num);
  27. printf("%d\n",num);
  28. for(i=0;i<num;i++){
  29. printf("正の整数を入力してください:");
  30. scanf("%d", &score);
  31. printf("%d\n",score);
  32. acc(score);
  33. }
  34. printf("数字の個数は%dです。\n",acc(-2));
  35. printf("合計値は%dです。 \n",acc(0));
  36. ave=(double)acc(0)/acc(-2);
  37. printf("平均は%lfです。\n",ave);
  38. acc(-1);
  39. acc(3);
  40. printf("数字の個数は%dです。\n",acc(-2));
  41. printf("合計値は%dです。 \n",acc(0));
  42.  
  43. return 0;
  44. }
  45.  
Success #stdin #stdout 0s 5316KB
stdin
3
1
4
5
stdout
数字の個数を入力してください:3
正の整数を入力してください:1
正の整数を入力してください:4
正の整数を入力してください:5
数字の個数は3です。
合計値は10です。 
平均は3.333333です。
数字の個数は1です。
合計値は3です。