PAT (Basic Level) Practice (中文)1012 数字分类 (20 分)+易错测试点

简介: PAT (Basic Level) Practice (中文)1012 数字分类 (20 分)+易错测试点

题目描述


给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:

A1 = 能被 5 整除的数字中所有偶数的和;

A2 = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1−n2+n3−n4⋯;

A3 = 被 5 除后余 2 的数字的个数;

A4 = 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;

A5 = 被 5 除后余 4 的数字中最大数字。


输入格式:


每个输入包含 1 个测试用例。每个测试用例先给出一个不超过 1000 的正整数 N,随后给出 N 个不超过 1000 的待分类的正整数。数字间以空格分隔。


输出格式:


对给定的 N 个正整数,按题目要求计算 A1~A5 并在一行中顺序输出。数字间以空格分隔,但行末不得有多余空格。

若其中某一类数字不存在,则在相应位置输出 N。


输入样例 1:


13 1 2 3 4 5 6 7 8 9 10 20 16 18

结尾无空行


输出样例 1:


30 11 2 9.7 9

结尾无空行


输入样例 2:


8 1 2 4 5 6 7 9 16

结尾无空行


输出样例 2:


N 11 2 N 9

结尾无空行


分析:


将一组数据存放到数组中,遍历数组,设变量a1,a2,a3,a4,a5;用if语句进行分类


个人代码:

#include<bits/stdc++.h>
using namespace std;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  int t;
  int a[2000];
  scanf("%d",&t);
  for(int i=1;i<=t;i++)
  {
    scanf("%d",&a[i]);
  }
  int a1=0,a2=0,a3=0,a4=0,a5=0;
  int flag=1;
  int b=0;
  for(int i=1;i<=t;i++)
  {
    if(a[i]%5==0)
    {
      if(a[i]%2==0)
      {
        a1+=a[i]; 
      }
    }
    if(a[i]%5==1)
    {
      if(flag%2==1)
      {
        a2+=a[i];
      }else if(flag%2==0){
        a2-=a[i];
      }
      flag++;
    }
    if(a[i]%5==2)
    {
      a3++;
    }
    if(a[i]%5==3)
    {
      a4+=a[i];
      b++;
    }
    if(a[i]%5==4)
    {
      if(a[i]>a5)
      {
        a5=a[i];
      }
    } 
  }
  double a44=0;
  if(b!=0)
  {
    a44=(double)a4/b;
  }
  if(a1==0)
  {
    printf("N ");
  }else {
    printf("%d ",a1);
  }
  if(flag==1)
  {
    printf("N ");
  }else {
    printf("%d ",a2);
  }if(a3==0)
  {
    printf("N ");
  }else {
    printf("%d ",a3);
  }if(b==0)
  {
    printf("N ");
  }else {
    printf("%.1lf ",a44);
  }
  if(a5==0){
    printf("N");
  } else {
    printf("%#d",a5);
  }
}

注意:

1. A2可以存在和为0 的情况;(最初没有AC的原因)

2. 输入的第一行第一个数据是测试的数目,不是测试的数据,要注意(手写分类时出现错误

微信图片_20220927123217.png


相关文章
|
2月前
|
机器学习/深度学习 并行计算 数据可视化
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用PaddleClas框架完成多标签分类任务,包括数据准备、环境搭建、模型训练、预测、评估等完整流程。
171 0
|
2月前
|
机器学习/深度学习 数据采集 算法
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
这篇博客文章介绍了如何使用包含多个网络和多种训练策略的框架来完成多目标分类任务,涵盖了从数据准备到训练、测试和部署的完整流程,并提供了相关代码和配置文件。
69 0
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
|
5月前
|
Devops jenkins 测试技术
如何在Visual Basic项目中实施单元测试以确保代码健壮性
【7月更文挑战第2天】本文探讨了如何在Visual Basic项目中实施单元测试以确保代码健壮性。单元测试基础包括验证代码单元的功能,促进重构和提高代码质量。MSTest、NUnit和xUnit是VB.NET的单元测试工具。遵循TDD原则,保持测试独立,关注单一功能,并确保快速执行。示例展示了如何为`Calculator`类的加法方法编写MSTest。持续集成与自动化测试工具如Jenkins和Azure DevOps辅助测试运行和代码质量检查。单元测试是提升软件质量和开发效率的关键实践,反映了良好的开发文化。
63 2
|
6月前
|
安全 测试技术
软件测试项目式学习二(认识软件测试及软件测试分类与案例分析)
软件测试项目式学习二(认识软件测试及软件测试分类与案例分析)
98 1
|
6月前
|
SQL XML 安全
【软件测试】 测试分类
【软件测试】 测试分类
|
7月前
|
SQL 安全 测试技术
软件测试:测试分类
软件测试:测试分类
|
测试技术 程序员
测试技术分类
测试技术会从7个方面对测试过程进行指导。
161 0
|
Web App开发 SQL 存储
【软件测试】测试分类
按照测试对象划分,一共可以分为10种
|
SQL 存储 数据采集
软件测试之测试的分类(重点:黑盒测试、白盒测试、单元测试、集成测试、系统测试)
1. 按照测试对象进行划分 1)界面测试 2)可靠性测试 3)容错性测试 4)文档测试 5)兼容性测试 6)易用性测试 7)软件安装卸载的测试 8)安全测试 9)性能测试 10)内存泄漏测试 2. 按照是否查看代码划分 1)黑盒测试 2)白盒测试 3)灰盒测试 3. 按照开发阶段划分 1)单元测试(结合 V 模型) 2)集成测试 3)系统测试 4)验收测试 5)将上面四种测试方法同 V 模型的阶段进行对应 4. 按照测试实施组织划分 1)α 测试 2)β 测试 3)第三方测试 5. 按照是否运行进行划分 1)静态测试 2)动态测试 6. 按照是否手工划分 1)手工测试 2)自动化测试
1155 0
|
机器学习/深度学习 人工智能 自然语言处理
【产品进化论】支持100+种单证分类:开放免费测试
依托深源恒际自研的技术结合多重规则引擎,为健康险理赔流程提供集收单、初审、录入、扣费、理算、审核于一体的全流程自动化解决方案,助推理赔业务构建结构化数据,同时可结合医疗票据业务数据自动化无感地进行模型迭代训练,自动部署,形成优质的数据闭环和数据生态。
【产品进化论】支持100+种单证分类:开放免费测试

热门文章

最新文章