问题 G: 数字分类 (20)
来源:互联网 发布:php抽奖系统 编辑:程序博客网 时间:2024/06/06 05:09
题目描述
给定一系列正整数,请按要求对数字进行分类,并输出以下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
8 1 2 4 5 6 7 9 16
样例输出
30 11 2 9.7 9
N 11 2 N 9
样例输出正确,但是在多点测试中报错,以下为代码,忘指正
#include <stdio.h>#include <string.h>int main(){ int num; unsigned int temp; while(scanf("%d",&num) != EOF){ int k = 1,cnt = 0; unsigned int a[5]; memset(a,0,sizeof(a)); for(int i = 0;i < num;i++){ scanf("%d",&temp); if(temp % 10 == 0){ a[0] += temp; }else if(temp % 5 == 1){ a[1] += k * temp; k *= -1; }else if(temp % 5 == 2){ a[2]++; }else if(temp % 5 == 4){ a[4] = temp > a[4] ? temp:a[4]; }else if(temp % 5 == 3){ a[3] += temp; cnt++; } } double average = 1.0 * a[3] / cnt; for(int i = 0;i < 5;i++){ if(a[i] == 0){ printf("N "); }else if(i == 3){ printf("%.1f ",average); }else if(i == 4){ printf("%d\n", a[i]); }else{ printf("%d ",a[i]); } } } return 0;}
阅读全文
0 0
- 问题 G: 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- PAT1012数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- leetcode---add-two-numbers---链表
- PAT
- Spring Boot构建interceptor简明教程
- Ctrlbox Project v2.3项目管理用户手册(四)——操作详解4.2
- spring基础配文件
- 问题 G: 数字分类 (20)
- 多次求1*2*3*...*n的值
- codeforces 869B The Eternal Immortality
- 理解OAuth 2.0
- 活动图与流程图的主要区别
- 《汇编语言》(第三版)王爽第九章实验9个人方法记录
- 前端html+css+js弹窗的实现
- L1-026. I Love GPLT
- Set-MailboxDatabase