问题点:
A1的条件判断,如果将能被5整除和是偶数分开判断,那么就没问题;
但是如果把它们合并在一起,用逻辑与判断,就会有问题。
两次代码如下:
#include <cstdio>
int main()
{
int n, temp;
scanf("%d", &n);
int arrange[5] = {0};
int counts[5] = {0};
//int flag = 0 ;
for (int i = 0; i < n; i++){
scanf("%d", &temp);
if (temp % 5 == 0 && temp % 2 == 0){
arrange[0] += temp;
counts[0]++;
}else if (temp % 5 == 1){
//counts[1]++;
if (counts[1] % 2 == 0){
arrange[1] += temp;
}
else{
arrange[1] -= temp;
}
counts[1]++;
}else if (temp % 5 == 2){
arrange[2]++;
counts[2]++;
}else if (temp % 5 == 3){
arrange[3] += temp;
counts[3]++;
}else{
if (temp > arrange[4]){
arrange[4] = temp;
}
counts[4]++

博客分析了PAT B1012题目中,使用逻辑与判断数字是否能被5整除且为偶数时,在特定测试点5和6上遇到的问题。建议将条件分开判断以避免错误。

1903

被折叠的 条评论
为什么被折叠?



