fork download
  1. #include <stdio.h>
  2. int acc(int x){
  3. static int sum=0;
  4. static int count=0;
  5.  
  6. if(x>0){
  7. sum+=x;
  8. count++;
  9. return sum;
  10. }
  11. else if(x==-1){
  12. sum=0;
  13. count=0;
  14. return 0;
  15. }
  16. else if(x==-2){
  17. return count;
  18. }
  19. else if (x==0){
  20. return sum;
  21. }
  22.  
  23. }
  24.  
  25. int main(){
  26. int score, num, i;
  27. double average;
  28. printf("数字の個数を入力してください:");
  29. scanf("%d", &num);
  30. printf("%d\n",num);
  31.  
  32. for(i=0;i<num;i++){
  33. printf("正の整数を入力してください:");
  34. scanf("%d", &score);
  35. printf("%d\n",score);
  36. acc(score);
  37. }
  38. int count=acc(-2);
  39. int sum=acc(0);
  40.  
  41. printf("数字の個数は%dです。\n",acc(-2));
  42. printf("合計値は%dです。 \n",acc(0));
  43.  
  44. acc(-1);
  45. acc(3);
  46. printf("数字の個数は%dです。\n",acc(-2));
  47. printf("合計値は%dです。 \n",acc(0));
  48.  
  49. if (count > 0) {
  50. average = (double)sum / count;
  51. printf("平均値: %.2f\n", average);
  52. } else {
  53. printf("平均値は計算できません(有効な入力がありません)。\n");
  54. }
  55. return 0;
  56. }
  57.  
Success #stdin #stdout 0.01s 5276KB
stdin
3
1
2
4
stdout
数字の個数を入力してください:3
正の整数を入力してください:1
正の整数を入力してください:2
正の整数を入力してください:4
数字の個数は3です。
合計値は7です。 
数字の個数は1です。
合計値は3です。 
平均値: 2.33