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;
}

相关文章
|
2月前
数字组合 (计蒜客 - T1218)
数字组合 (计蒜客 - T1218)
|
2月前
|
数据采集 安全 数据挖掘
【数据挖掘】属性及其类型和数据的统计描述四分位数等详解(图文解释 超详细)
【数据挖掘】属性及其类型和数据的统计描述四分位数等详解(图文解释 超详细)
172 0
|
11月前
|
机器学习/深度学习 存储 算法
算法训练Day25|216.组合总和III● 17.电话号码的字母组合
算法训练Day25|216.组合总和III● 17.电话号码的字母组合
|
11月前
wustojc4004百分制分数转换为等级
wustojc4004百分制分数转换为等级
32 0
|
11月前
数字的转化规则?
转换规则:不管你要转的数据是什么,都是一位一位的去检测,如果第一位可以转成数字,就转,依次往后看每一位,直到碰到不能转或者转完为止,如果转不成就直接NaN
|
12月前
1291:数字组合
1291:数字组合
|
机器学习/深度学习 数据可视化 数据挖掘
字符级CNN分类模型的实现
字符级CNN分类模型的实现
|
Java 测试技术
Java数字分类给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:A1 = 能被5整除的数字中所有偶数的和;A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3
Java数字分类给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:A1 = 能被5整除的数字中所有偶数的和;A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3
171 0
Java数字分类给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:A1 = 能被5整除的数字中所有偶数的和;A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3
|
算法 C++
算法题:特殊的数字
我们规定,对于一个整数 a,如果其各位数字相加之和能够被 4 整除,则称它是一个特殊数字。 现在,给定一个整数 n,请你计算并输出不小于 n 的最小特殊数字。 输入格式
75 0