我是靠谱客的博主 阳光薯片,最近开发中收集的这篇文章主要介绍1012 数字分类 (20 分) 测试点8,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

题目链接
这里我选择只用用一个结构体,这个结构体里包含了所有可能用到的类型,然后弄一个结构体类型的数组,分别存四种类型
这里的测试点8卡的是第二种

将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n

这里卡的是结果为0的情况,当和是0的时候需要输出0而不是N
#include<iostream>
#include<vector>
#include<cstdio>
using namespace std;
struct node{
int total;
int cnt;
double result;
int num;
vector<int>ans;
};
node a[5];
int calculate(){
int num=0,flag=1;
for(int i=0;i<a[1].ans.size();i++){
num+=a[1].ans[i]*flag;
flag=-flag;
}
return num;
}
int main()
{
int n,k,Max=-9999,sum=0;
cin>>n;
for(int i=0;i<n;i++){
cin>>k;
sum+=k;
if(k%5==0&&k%2==0){
a[0].total+=k;
}else if(k%5==1){
a[1].ans.push_back(k);
}else if(k%5==2){
a[2].total++;
}else if(k%5==3){
a[3].cnt++;
a[3].result+=k;
}else if(k%5==4){
if(k>=Max){
Max=k;
}
}
}
k=calculate();
if(a[0].total!=0&&sum!=0){
cout<<a[0].total;
}else{
cout<<"N";
}
cout<<" ";
if(k!=0||a[1].ans.size()!=0){
cout<<k;
}else{
cout<<"N";
}
cout<<" ";
if(a[2].total!=0){
cout<<a[2].total;
}else{
cout<<"N";
}
cout<<" ";
if(a[3].cnt!=0){
printf("%.1lf",a[3].result*1.0/a[3].cnt);
}else{
cout<<"N";
}
cout<<" ";
if(n!=0&&Max!=-9999){
cout<<Max;
}else{
cout<<"N";
}
return 0;
}

最后

以上就是阳光薯片为你收集整理的1012 数字分类 (20 分) 测试点8的全部内容,希望文章能够帮你解决1012 数字分类 (20 分) 测试点8所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部