牛客网2-给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字
2017-03-26 12:51
309 查看
题目描述
给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字: A1 = 能被5整除的数字中所有偶数的和; A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4...; A3 = 被5除后余2的数字的个数; A4 = 被5除后余3的数字的平均数,精确到小数点后1位; A5 = 被5除后余4的数字中最大数字。
输入描述:
每个输入包含1个测试用例。每个测试用例先给出一个不超过1000的正整数N,随后给出N个不超过1000的待分类的正整数。数字间以空格分隔。
输出描述:
对给定的N个正整数,按题目要求计算A1~A5并在一行中顺序输出。数字间以空格分隔,但行末不得有多余空格。 若其中某一类数字不存在,则在相应位置输出“N”。
输入例子:
13 1 2 3 4 5 6 7 8 9 10 20 16 18
输出例子:
30 11 2 9.7 9
#include<stdio.h> int main() { int n,i; int num,A1=0,A2=0,A22=0,A3=0,A5=0,A4=0,A44=0; scanf("%d",&n); getchar(); for(i=0;i<n;i++) { scanf("%d",&num); getchar(); if(num%10==0) A1+=num; if(num%5==1) { A22++; if(A22%2==1) A2+=num; else A2-=num; } if(num%5==2) A3++; if(num%5==3) { A4+=num;A44++; } if(num%5==4) { if(num>A5) A5=num; } } if(A1) {printf("%d ",A1);} else {printf("N ");} if(A2) {printf("%d ",A2);} else {printf("N ");} if(A3) {printf("%d ",A3);} else {printf("N ");} if(A44) {printf("%.1f ",(float)A4/A44);} else {printf("N ");} if(A5) {printf("%d\n",A5);} else {printf("N\n");} return 0; }
相关文章推荐
- float=0.0,才可以和int加 给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:
- 给定一系列正整数,请按要求对数字进行分类
- 给定一系列正整数,请按要求对数字进行分类,
- C语言 要求用户录入5个数字,用函数来完成升序排序输出!
- 将1~6这6个数字按每行3个进行输出,输出时要求左边的数字比右边的大,上边的数字比下边的大,求出所有可能的填写方法并统计输出排列方法有多少种。
- 编写程序实现以下功能: 随机产生20个正整数存入数组a中,且每个数均在1000-9999之间(包含1000和9999)。对数组进行排序,要求按每个数的后三位的大小进行升序排列,然后取出满足此条
- PTA 求链式线性表的倒数第K项 给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。
- 作业四1、输入2个正整数m和n(1≤m,n≤1000),输出m~n之间的所有水仙花数。水仙花数是指各位数字的立方和等于其自身的数。要求定义并调用函数is(number)判断number的各位数字之和是否等于其自身。
- 给定一个数字n, 等概率输出1-n的值,要求最后全都输出一遍
- java每日一题:给定一个正整数n,将1到n进行字典排序,并输出
- 作业四-1、输入2个正整数m和n(1≤m,n≤1000),输出m~n之间的所有水仙花数。水仙花数是指各位数字的立方和等于其自身的数。要求定义并调用函数is(number)判断number的各位数字之和是否等于其自身。
- 给一个不多于5位的整数, 要求输出它是几位数, 每一个数字是什么, 再反向输出这个数
- 编写函数,其功能是:将一个数字字符串转换为一个整数(不得调用C语言中提供的将字符串转换成整数的函数。)要求在主函数中输入该字符串并输出转换后的整数的值。
- 用1,2....9组成三个三位数abc,def,ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:3,输出所有解
- 给定四个正整数,求出四个数的最大值并输出
- C++递归问题之二——n皇后问题:以四、八皇后为例,给定n个皇后要求将它们放在一个n维矩阵中,任意两个皇后不能出现在同一行、列、主副对角线上,输出具体的摆放方式
- 给定一个数组,要求把数组内元素的顺序随机打乱,然后输出,主要是要保证效率。
- 谷歌笔试题--给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含), 指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。
- 谷歌笔试题--给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含), 指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。
- 随机产生一系列的ascii码字符,将其分类输出