我是靠谱客的博主 朴素飞鸟,最近开发中收集的这篇文章主要介绍PAT B1012数字分类:关于测试点5和6无法通过的问题分析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

问题点:

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]++;
}
}
if ( counts[0] == 0) printf("N ");
else printf("%d ", arrange[0]);
if ( counts[1] == 0) printf("N ");
else printf("%d ", arrange[1]);
if ( counts[2] == 0) printf("N ");
else printf("%d ", arrange[2]);
if ( counts[3] == 0) printf("N ");
else printf("%.1f ", (double)arrange[3] / counts[3]);
if ( counts[4] == 0) printf("N");
else printf("%d", arrange[4]);
return 0;
}

这种小问题只在PTA的测试点中会出现。 

#include <cstdio>
int main()
{
int n, temp;
int arrange[5] = {0};
int counts[5] = {0};
//int flag = 0 ;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &temp);
if (temp % 5 == 0) {
if (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]++;
}
}
if ( counts[0] == 0) printf("N ");
else printf("%d ", arrange[0]);
if ( counts[1] == 0) printf("N ");
else printf("%d ", arrange[1]);
if ( counts[2] == 0) printf("N ");
else printf("%d ", arrange[2]);
if ( counts[3] == 0) printf("N ");
else printf("%.1f ", (double)arrange[3] / counts[3]);
if ( counts[4] == 0) printf("N");
else printf("%d", arrange[4]);
return 0;
}

 

最后

以上就是朴素飞鸟为你收集整理的PAT B1012数字分类:关于测试点5和6无法通过的问题分析的全部内容,希望文章能够帮你解决PAT B1012数字分类:关于测试点5和6无法通过的问题分析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部