PAT(B)1012. 数字分类 (20)

#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
  int n, num;
  int a[6] = { 0 };
  int b = 1;
  int ct1 = 0,  ct2 = 0;

  cin >> n;
  while (n--){
    cin >> num;

    if (num % 10 == 0) a[1] += num;
    if (num % 5 == 1) {
      ++ct1;
      a[2] += b*num; b = -b;
    }
    if (num % 5 == 2) ++a[3];
    if (num % 5 == 3){
      ++ct2;
      a[4] += num;
    }
    if (num % 5 == 4){
      if (num > a[5]) a[5] = num;
    }
  }
  double a4 = 1.0 * a[4] / ct2;
  for (int i = 1; i < 6; ++i){
    if (i>1) cout << " ";
    if (a[i] == 0) {
      if (i == 2 && ct1 > 0) {      //用a[i]==0判断时,a[2]里面可能经过多次正负相加得到0,从而误输出“N”
        cout << "0"; continue;        
      }
        cout << "N"; continue;
      }
      if (i == 4) {
        cout << fixed << setprecision(1) << a4; continue;
      }
      cout << a[i];
    }

    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值