题解 | #肥宅の简单分类#

肥宅の简单分类

https://ac.nowcoder.com/acm/problem/21432

这题有点坑 主要是结果一要求的是偶数;结果二控制好符号正负交错变化就好,但是结果二可能是零,所以要使用一个计数变量判断是否存在数字满足模除于5余2;结果三加个计数变量就好;结果四加起来除于计数变量就行,结果不会等于0的;结果五,由于都是正整数,所以不包括零,可以使用变量max=0进行判断。

#include<iostream>
#include<iomanip>
using namespace std;
int main(){
    int t;
    cin>>t;
    while(t--){
        int num,n,sum0=0,sum1=0,sum2=0,count1=0,count2=0,count3=0,max4=0;
        double sum3=0;
        cin>>n;
        while(n--){
        	cin>>num;
        	int temp = num%5;
        	switch(temp){
        		case 0:
        			if(num%2==0)
        				sum0+=num;
        			break;
        		case 1:
        			if(count1%2==0)
        				sum1+=(1*num);
        			else
        				sum1+=((-1)*num);
                	count1++;
        			break;
        		case 2:
        			count2++;
        			break;
        		case 3:
        			sum3+=num;
                	count3++;
        			break;
        		case 4:
        			max4>num?max4=max4:max4=num;
        			break;
        		default:
        			break;
			}
		 	if(cin.get()=='\n') break;
        }
        if(sum0!=0){
            cout<<sum0<<' ';
        }else{
        	cout<<'N'<<' ';
		} 
		if(count1!=0){
            cout<<sum1<<' ';
        }else{
        	cout<<'N'<<' ';
		} 
		if(count2!=0){
            cout<<count2<<' '; 
        }else{
        	cout<<'N'<<' ';
		} 
		if(sum3!=0){
			double number = 1.0*sum3/(count3); 
			printf("%.1lf ",number);
        }else{
        	cout<<'N'<<' ';
		} 
		if(max4!=0){
            cout<<max4<<' '; 
        }else{
        	cout<<'N'<<' ';
		} 
		cout<<endl;
    }
}
全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务