乙级PAT之数字分类(字符串类型的格式化)

/*
数字分类
*/
给定一系列正整数,请按要求对数字进行分类,并输出以下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

  

package abc;

import java.util.Scanner;

public class Main {
  public static void main(String [] args) {
	  Scanner input = new Scanner(System.in);
	  int t = input.nextInt();
	  int a[] = new int[5];
	  for(int i=0;i<a.length;i++) {
		  a[i]=0;
	  }
	  int tnt=0;
	  int tnt2=0;
	  for(int i=0;i<t;i++) {
		  int x = input.nextInt();
		  if(x%10==0) a[0]+=x;
		  if(x%5==1) {
			  a[1] += x*Math.pow(-1,tnt);/// 利用平方来控制正负
			  tnt++;
		  }
	      if(x%5==2) a[2]++;
	      if(x%5==3) {
	    	  a[3]+=x;tnt2++;
	      }
	      if(x%5==4) {
	    	  if(a[4]<x) a[4]=x;
	      }
	  }
	  double a4 = (double)a[3]/tnt2;
	  String s=String.format("%.1f", a4);///字符串类型格式化,类似c语言的printf
	  StringBuffer sbu = new StringBuffer();
	  for(int i=0;i<a.length;i++) {
		  if(a[i]==0) sbu.append("N ");
		  else {
			  if(i==3) sbu.append(s+" ");///append用于字符串后面追加字符串
			  else sbu.append(a[i]+" ");
		  }
	  }
	  System.out.println(sbu.toString().trim());///toString()转化为字符串,trim()去掉两边的空格。
  }
}

  

原文地址:https://www.cnblogs.com/zws-bugging/p/12251161.html

时间: 2024-10-01 07:00:34

乙级PAT之数字分类(字符串类型的格式化)的相关文章

第二篇:数字和字符串类型

一.数字和字符串类型 1.x.strip:去除两边字符,如(*)默认去除空格 2.x.capitalize:首字母大写 3.x.upper:所有字母大写 4.x.center:居中显示 5.x.count:统计字符串中某个字符的个数 6.x.endswith/ x.startswith:以什么作为结尾,以什么作为开头 7.x.find: 8.x.format:格式化字符串 9.x.index:查看字符的索引 10.x.isdigit:取整数 11.x.replace:替换 12.x.split:

PAT 1012 数字分类 C语言

给定一系列正整数,请按要求对数字进行分类,并输出以下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的待分类的正整数.数字间以空格分隔. 输出格式:

python基础(5):数字和字符串类型

今天总结一下数据类型中的数字和字符串型. 预习: # 写代码,有如下变量,请按照要求实现每个功能 (共6分,每小题各0.5分) name = " aleX" # 1) 移除 name 变量对应的值两边的空格,并输出处理结果 # 2) 判断 name 变量对应的值是否以 "al" 开头,并输出结果? # 3) 判断 name 变量对应的值是否以 "X" 结尾,并输出结果? # 4) 将 name 变量对应的值中的 "l" 替换为

PAT 1012. 数字分类 (20)

给定一系列正整数,请按要求对数字进行分类,并输出以下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的待分类的正整数.数字间以空格分隔. 输出格式:

PAT——1012. 数字分类

给定一系列正整数,请按要求对数字进行分类,并输出以下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的待分类的正整数.数字间以空格分隔. 输出格式:

PAT 1012 数字分类

https://pintia.cn/problem-sets/994805260223102976/problems/994805311146147840 给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字: A1 = 能被5整除的数字中所有偶数的和: A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4...: A3 = 被5除后余2的数字的个数: A4 = 被5除后余3的数字的平均数,精确到小数点后1位: A5 = 被5除后余4的数字中最大数字. 输入

python之字符串类型的格式化

要点:python字符串通过format()方法进行格式化处理.(Python语言同时支持两种字符串格式化方法,一种类似C语言中printf()函数的格式化方法,支持该方法主要考虑与大批C语言程序员编程习惯相一致;另一种采用专门的str.format()格式化方法.由于Python中更为接近自然语言的复杂数据类型(如列表和字典等)无法通过类C的格式化方法很好表达,Python 已经不在后续版本中改进C风格格式化方法.因此,Python 语言将主要采用format()方法进行字符串格式化.) 字符

PAT 乙级真题 1002.数字分类

PAT 乙级真题 1002.数字分类 题目描述 给定一系列正整数,请按要求对数字进行分类,并输出以下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的

PAT乙级 1012. 数字分类 (20)

1012. 数字分类 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字: A1 = 能被5整除的数字中所有偶数的和: A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4...: A3 = 被5除后余2的数字的个数: A4 = 被5除后余3的数字的平均数,精确到小数点后1位: A5 = 被5除后余4的数字中最大数