1012 数字分类

简介: 1012 数字分类

题目描述

点击直达题目链接

解题思路

对于A1到A5,我们用5个函数分别求。

在下面的代码中,用find表示是否查找到出现过该种类型的数字,出现过赋值为1,没有出现为0.

具体实现看下面的代码

代码

#include <stdio.h>
#include <stdlib.h>
int find = 0;
int f1(int* a, int n)
{
  find = 0;
  int i = 0,sum=0;
  for (; i < n; i++)
  {
    if (a[i] % 5 == 0&&a[i]%2==0)
    {
      find = 1;
      sum += a[i];
    }
  }
  return sum;
}
int f2(int* a, int n)
{
  find = 0;
  int i = 0, sum = 0, x = 1;
  for (; i < n; i++)
  {
    if (a[i] % 5 == 1)
    {
      find = 1;
      sum += x * a[i];
      x = -1*x;
    }
  }
  return sum;
}
int f3(int* a, int n)
{
  find = 0;
  int i = 0, sum = 0;
  for (; i < n; i++)
  {
    if (a[i] % 5 == 2 )
    {
      find = 1;
      sum++;
    }
  }
  return sum;
}
double f4(int* a, int n)
{
  find = 0;
  int i = 0, sum = 0,count=0;
  for (; i < n; i++)
  {
    if (a[i] % 5 == 3 )
    {
      find = 1;
      sum += a[i];
      count++;
    }
  }
  return (double)sum/count;
}
int f5(int* a, int n)
{
  find = 0;
  int i = 0, max = 0;
  for (; i < n; i++)
  {
    if (a[i] % 5 == 4)
    {
      find = 1;
      if(max<a[i])
      max = a[i];
    }
  }
  return max;
}
int main()
{
  int n,i;
  scanf("%d", &n);
  int* a = (int*)malloc(n * sizeof(int));
  if (a == NULL)
  {
    return 0;
  }
  for (i = 0; i < n; i++)
  {
    scanf("%d", a + i);
  }
  
  int ret=f1(a, n);
  if (find == 0)
  {
    printf("N ");
  }
  else
  {
    printf("%d ",ret);
  }
  
  ret=f2(a, n);
  if (find == 0)
  {
    printf("N ");
  }
  else
  {
    printf("%d ", ret);
  }
  
  ret = f3(a, n);
  if (find == 0)
  {
    printf("N ");
  }
  else
  {
    printf("%d ", ret);
  }
  
  double b=f4(a, n);
  if (find == 0)
  {
    printf("N ");
  }
  else
  {
    printf("%.1lf ", b);
  }
  
  ret = f5(a, n);
  if (find == 0)
  {
    printf("N ");
  }
  else
  {
    printf("%d ", ret);
  }
  free(a);
  a=NULL:
  return 0;
}

相关文章
给定一个正整数N,将其表示为数字1,3,7,15相加的形式输出。请编码找出使上述数字出现的总次数最少(每个数字可以重复使用)的组合。
给定一个正整数N,将其表示为数字1,3,7,15相加的形式输出。请编码找出使上述数字出现的总次数最少(每个数字可以重复使用)的组合。
|
5月前
|
机器学习/深度学习 数据采集 人工智能
人工智能平台PAI产品使用合集之在使用ARIMA模型预测时,目标是预测输出12个值,但只打印了5个值,是什么原因
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
6月前
|
C++
[C++] 提取字符串中的所有数字并组成一个数
[C++] 提取字符串中的所有数字并组成一个数
145 0
|
6月前
数字组合 (计蒜客 - T1218)
数字组合 (计蒜客 - T1218)
|
6月前
|
数据采集 安全 数据挖掘
【数据挖掘】属性及其类型和数据的统计描述四分位数等详解(图文解释 超详细)
【数据挖掘】属性及其类型和数据的统计描述四分位数等详解(图文解释 超详细)
472 0
|
机器学习/深度学习 存储 算法
算法训练Day25|216.组合总和III● 17.电话号码的字母组合
算法训练Day25|216.组合总和III● 17.电话号码的字母组合
数字的转化规则?
转换规则:不管你要转的数据是什么,都是一位一位的去检测,如果第一位可以转成数字,就转,依次往后看每一位,直到碰到不能转或者转完为止,如果转不成就直接NaN
|
Java 测试技术
Java数字分类给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:A1 = 能被5整除的数字中所有偶数的和;A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3
Java数字分类给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:A1 = 能被5整除的数字中所有偶数的和;A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3
215 0
Java数字分类给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:A1 = 能被5整除的数字中所有偶数的和;A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3
下一篇
无影云桌面