解答:
#include <cstdio>
using namespace std;
int main() {
int input_amount, num;
while(scanf("%d", &input_amount) != EOF) {
int A1 = 0, A2 = 0, A3 = 0, A4 = 0, A5 = 0;
int flag = 1;
int if_A2_exist = 0;
int A4_count = 0;
for(int i=1; i<=input_amount; i++) {
scanf("%d", &num);
if(num%5 == 0 && num%2 == 0)
A1 += num;
else if(num%5 == 1) {
if_A2_exist = 1;
A2 += flag * num;
flag *= -1;
}
else if(num%5 == 2) {
A3++;
}
else if(num%5 == 3) {
A4 += num;
A4_count++;
}
else if(num%5 == 4) {
if(num > A5)
A5 = num;
}
}
if(A1 == 0)
printf("N ");
else
printf("%d ", A1);
if(if_A2_exist == 0)
printf("N ");
else
printf("%d ", A2);
if(A3 == 0)
printf("N ");
else
printf("%d ", A3);
if(A4_count == 0)
printf("N ");
else
printf("%.1f ", (1.0*A4)/A4_count); //整型 / 整型 = 整型 ,想要得到浮点格式的结果需要将其中一个整型转化为浮点型
if(A5 == 0)
printf("N\n");
else
printf("%d\n", A5);
}
return 0;
}
笔记:
- 第二个数字有可能是运算后刚好为0
- 整型 / 整型 = 整型 ,想要得到浮点格式的结果需要将其中一个整型转化为浮点型