PAT练习-数字处理
来源:互联网 发布:php 私有属性 编辑:程序博客网 时间:2024/05/19 05:34
题目描述
给定一系列正整数,请按要求对数字进行分类,并输出以下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 A1=0,A2=0,A3=0,A4=0,A5=0; char flag1=0,flag2=0,flag3=0,flag4=0,flag5=0; int num,i,cnt=0,n,t=1; int a[1024]; scanf("%d",&num); for(i=0;i<num;i++) { scanf("%d",&a[i]); } for(i=0;i<num;i++) { n=a[i]%5; if(n==0&&a[i]%2==0){flag1=1;A1+=a[i];} if(n==1){flag2=1;A2+=a[i]*t;t=-t;} if(n==2){flag3=1;A3+=1;} if(n==3){flag4=1;A4+=a[i];cnt++; if(n==4){flag5=1;A5=((A5>a[i])?A5:a[i]);} }if(flag1) printf("%d ",A1); else printf("N ");if(flag2) printf("%d ",A2); else printf("N ");if(flag3) printf("%d ",A3); else printf("N ");if(flag4) printf("%.1f ",(double)A4/cnt); else printf("N ");if(flag5) printf("%d",A5); else printf("N");return 0;}
阅读全文
1 0
- PAT练习-数字处理
- PAT练习-数字黑洞
- PAT练习之字符串处理
- PAT练习基础编程题目之统计个位数字
- 刷题笔记:PAT真题在线练习数字分类
- pat练习
- PAT程序设计练习——甲级1001(标准格式化数字)
- C++PAT练习1001
- Java PAT练习1.0
- Java PAT练习2.0
- PAT练习-数素数
- PAT练习-德才论
- PAT练习-月饼
- PAT练习-个位数统计
- PAT练习-打印沙漏
- PAT练习-人口普查
- PAT练习-旧键盘
- PAT乙级练习1002
- Android热修复Tinker
- Fragment系列(一)------View与Presenter
- 面试题9:斐波拉契数列及其变种
- 快速排序
- 在VS2013中,根据虚函数表指针查找对应的虚函数
- PAT练习-数字处理
- 利用socket传输对象
- sql server2008给数据表,字段,添加修改注释
- String对象不可改变的特性
- win8.1连接mac配置的ipv6环境
- Fragment系列(二)------NetworkFragment
- JSP中四种属性范围
- 版本管理之gitlab实践教程:基础篇(1)
- leetcode--561--Array Partition I(我的解法)