1012 數字分類 (20 分)C語言


給定一系列正整數,請按要求對數字進行分類,並輸出以下 5 個數字:

  • A​1= 能被 5 整除的數字中所有偶數的和;
  • A​2= 將被 5 除后余 1 的數字按給出順序進行交錯求和,即計算 n​1−n​2+n3−n​4⋯;
  • A​3= 被 5 除后余 2 的數字的個數;
  • A​4= 被 5 除后余 3 的數字的平均數,精確到小數點后 1 位;
  • A​5= 被 5 除后余 4 的數字中最大數字。

輸入格式:
每個輸入包含 1 個測試用例。每個測試用例先給出一個不超過 1000 的正整數 N,隨后給出 N 個不超過 1000 的待分類的正整數。數字間以空格分隔。

輸出格式:
對給定的 N 個正整數,按題目要求計算 A​1​ ~A​5並在一行中順序輸出。數字間以空格分隔,但行末不得有多余空格。

若其中某一類數字不存在,則在相應位置輸出 N。

輸入樣例 1:

13 1 2 3 4 5 6 7 8 9 10 20 16 18

輸出樣例 1:

30 11 2 9.7 9

輸入樣例 2:

8 1 2 4 5 6 7 9 16

輸出樣例 2:

N 11 2 N 9
#include <stdio.h>
int main(){
	int n,i,m,b2=1;
	scanf("%d",&n);
	int a[6]={0},b[6]={0};
	for(i=0;i<n;i++){
		scanf("%d",&m);
		if(m%5==0 && m%2==0){
			a[1]=a[1]+m;
			b[1]++;
		}
		if(m%5==1){
			a[2]=a[2]+(m*b2);
			b2=-b2;
			b[2]++;
		}
		if(m%5==2){
			a[3]=a[3]+1;
			b[3]++;
		}
		if(m%5==3){
			a[4]=a[4]+m;
			b[4]++;
		}
		if(m%5==4 && m>a[5]){
			a[5]=m;
			b[5]++;
		}
	}
	for(i=1;i<6;i++){
		printf("%s",i>1?" ":"");
		if(b[i]>0){
			printf("%.*f",i!=4?0:1,i!=4?(double)a[i]:(double)a[i]/b[i]);
		}else{
			printf("N");
		}
	}
	return 0;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM