试题02 数字分类
来源:互联网 发布:js组件和插件的区别 编辑:程序博客网 时间:2024/06/07 23:13
题目描述:
给定一系列正整数,请按要求对数字进行分类,并输出以下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>#include<stdlib.h>int main(){ int A1,A2,A3,A5; float A4; int N; int num[1000]; int flag=1,A4_num=0; while(scanf("%d",&N)!=EOF) { A1=A2=A3=A5=A4_num=0; A4=0.0; flag=1; for(int i=0;i<N;i++) { scanf("%d",&num[i]); //for A1 if((num[i]%5==0)&&(num[i]%2==0)) { A1+=num[i]; } //for A2 else if(num[i]%5==1) { A2+=num[i]*flag; flag=-1*flag; } //for A3 else if(num[i]%5==2) { A3++; } //for A4 else if(num[i]%5==3) { A4_num++; A4+=num[i]; } //for A5 else if(num[i]%5==4) { if(num[i]>A5) A5=num[i]; } } //show result if (A4_num!=0) A4=A4/A4_num; (A1==0)? printf("N"):printf("%d",A1); (A2==0)? printf(" N"):printf(" %d",A2); (A3==0)? printf(" N"):printf(" %d",A3); (A4==0.0)? printf(" N"):printf(" %.1f",A4); (A5==0)? printf(" N\n"):printf(" %d\n",A5); } return 0;}
0 0
- 试题02 数字分类
- 数字分类
- 数字分类
- 数字分类
- 数字分类
- 数字分类
- 数字分类
- 数字分类
- 数字分类
- 数字分类
- PAT 1012. 数字分类
- 1012. 数字分类 (20)
- PAT1012:数字分类
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012 数字分类
- 1012. 数字分类
- 验证码实例
- MapReduce 算法设计-Local Aggregation
- QString和String相互转换
- Bootstrap快速学习笔记(2)表单系列之一
- Windows下Redis的安装使用
- 试题02 数字分类
- 第四十二篇:Adboost训练识别的经典的博文集(正负样本、积分图、分类器级联)
- 【算法】帽子问题
- 图的基本概念(-)
- 转载 KMP算法中next数组详解
- 学习opencv(5)——膨胀和腐蚀 cvErode()和cvDilate()
- FineReport中如何进行Informix数据库连接
- C++操作符优先级
- -webkit-tap-highlight-color