最后一个测试点8答案错误,错误主要出现在a2的判断上,因为个人在输出a2时使用a2==0来判断输出。应该设置个标志判断a2是否有效。
#include "stdio.h"
#include <iostream>
using namespace std;
int main() {
int arr[1005] = { 0 };
int len = 0;
int a1 = 0, a2 = 0, a3 = 0, a4 = 0, a5 = 0, tot_a4 = 0;
bool flag = false; //false加 true减
bool flag_a2 = false; //判断a2是否存在计算
cin >> len;
for (int i = 0; i < len; i++) {
cin >> arr[i];
}
for (int i = 0; i < len; i++) {
if (arr[i] % 5 == 0) {
if (arr[i] % 2 == 0) {
a1 += arr[i];
//cout << a1 << " " << arr[i] << endl;
}
}
if (arr[i] % 5 == 1) { //该点注意,这里可能结果和a2为0
flag_a2 = true; //在进入该函数内立即更新a2的标志,证明a2是有效的