#include <stdio.h>
int acc(int x) { // acc関数の内部のみ修正対象
static int sum = 0;
static int count = 0;
int y = 0;
if (x == -1) {
sum = 0;
count = 0;
y = 0;
} else if (x == -2) {
y = count;
} else if (x == 0) {
y = sum;
} else if (x > 0) {
sum += x;
count++;
y = sum;
}
return y;
}
int main() {
int score, num, i;
for (i = 0; i < num; i++) {
acc(score);
}
printf("数字の個数は%dです。\n", acc
(-2)); printf("合計値は%dです。\n", acc
(0));
acc(-1); // リセット
acc(3); // 3を追加
printf("数字の個数は%dです。\n", acc
(-2)); printf("合計値は%dです。\n", acc
(0));
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgYWNjKGludCB4KSB7IC8vIGFjY+mWouaVsOOBruWGhemDqOOBruOBv+S/ruato+WvvuixoQogICAgc3RhdGljIGludCBzdW0gPSAwOwogICAgc3RhdGljIGludCBjb3VudCA9IDA7CiAgICBpbnQgeSA9IDA7CgogICAgaWYgKHggPT0gLTEpIHsKICAgICAgICBzdW0gPSAwOwogICAgICAgIGNvdW50ID0gMDsKICAgICAgICB5ID0gMDsKICAgIH0gZWxzZSBpZiAoeCA9PSAtMikgewogICAgICAgIHkgPSBjb3VudDsKICAgIH0gZWxzZSBpZiAoeCA9PSAwKSB7CiAgICAgICAgeSA9IHN1bTsKICAgIH0gZWxzZSBpZiAoeCA+IDApIHsKICAgICAgICBzdW0gKz0geDsKICAgICAgICBjb3VudCsrOwogICAgICAgIHkgPSBzdW07CiAgICB9CiAgICByZXR1cm4geTsKfQoKaW50IG1haW4oKSB7CiAgICBpbnQgc2NvcmUsIG51bSwgaTsKICAgIHByaW50Zigi5pWw5a2X44Gu5YCL5pWw44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEOiIpOwogICAgc2NhbmYoIiVkIiwgJm51bSk7CiAgICBwcmludGYoIiVkXG4iLCBudW0pOwogICAgCiAgICBmb3IgKGkgPSAwOyBpIDwgbnVtOyBpKyspIHsKICAgICAgICBwcmludGYoIuato+OBruaVtOaVsOOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhDoiKTsKICAgICAgICBzY2FuZigiJWQiLCAmc2NvcmUpOwogICAgICAgIHByaW50ZigiJWRcbiIsIHNjb3JlKTsKICAgICAgICBhY2Moc2NvcmUpOwogICAgfQoKICAgIHByaW50Zigi5pWw5a2X44Gu5YCL5pWw44GvJWTjgafjgZnjgIJcbiIsIGFjYygtMikpOwogICAgcHJpbnRmKCLlkIjoqIjlgKTjga8lZOOBp+OBmeOAglxuIiwgYWNjKDApKTsKICAgIAogICAgYWNjKC0xKTsgICAgIC8vIOODquOCu+ODg+ODiAogICAgYWNjKDMpOyAgICAgIC8vIDPjgpLov73liqAKICAgIAogICAgcHJpbnRmKCLmlbDlrZfjga7lgIvmlbDjga8lZOOBp+OBmeOAglxuIiwgYWNjKC0yKSk7CiAgICBwcmludGYoIuWQiOioiOWApOOBryVk44Gn44GZ44CCXG4iLCBhY2MoMCkpOwoKICAgIHJldHVybiAwOwp9