【ACM】P2025、P2026、P2027、P2028、P2029代码演示
2017-05-23 15:17
429 查看
[P2025问题概述]:查找最大元素
/** * 查找最大元素 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 57081 Accepted Submission(s): 30661 Problem Description 对于输入的每个字符串,查找其中的最大字母,在该字母后面插入字符串“(max)”。 Input 输入数据包括多个测试实例,每个实例由一行长度不超过100的字符串组成,字符串仅由大小写字母构成。 Output 对于每个测试实例输出一行字符串,输出的结果是插入字符串“(max)”后的结果,如果存在多个最大的字母, 就在每一个最大字母后面都插入"(max)"。 Sample Input abcdefgfedcba xxxxx Sample Output abcdefg(max)fedcba x(max)x(max)x(max)x(max)x(max) Author lcy Source C语言程序设计练习(四) */
代码演示:
package ac; import java.util.Scanner; public class P2025 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); //可以接收多个测试实例 while(sc.hasNext()){ String str=sc.nextLine(); //找到最大值的初始值 char max=str.charAt(0); //遍历每个字符找到最大的字符 for(char ch:str.toCharArray()){ if(ch>max){ max=ch; } } //将此最大的字符替换为制定的要求的字符串 str=str.replaceAll(max+"", max+"(max)"); System.out.println(str); } } }
[P2026问题概述]:首字母变大写
/** * 首字母变大写 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 60403 Accepted Submission(s): 33153 Problem Description 输入一个英文句子,将每个单词的第一个字母改成大写字母。 Input 输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行。 Output 请输出按照要求改写后的英文句子。 Sample Input i like acm i want to get an accepted Sample Output I Like Acm I Want To Get An Accepted Author lcy Source C语言程序设计练习(四) */
代码演示:
package ac; import java.util.Scanner; public class P2026 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); while(sc.hasNext()){ //接收一个字符串 String str=sc.nextLine(); //将字符串变为字符数组对其操作 char[] chs=str.toCharArray(); for(int i=0;i<chs.length;i++){ //分两种情况:(i==0时,如果不为空字符那就是字母)、(i>0时,如果前一个为空字符那么下一个字符肯定要变大写) if(i==0&& chs[i]!=' ' || i>0&& chs[i-1]==' '){ chs[i]=(chs[i]+"").toUpperCase().toCharArray()[0]; } System.out.print(chs[i]); } System.out.println(); } } }
[P2027问题概述]: 统计元音
/** * 统计元音 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 71618 Accepted Submission(s): 28383 Problem Description 统计每个元音字母在字符串中出现的次数。 Input 输入数据首先包括一个整数n,表示测试实例的个数,然后是n行长度不超过100的字符串。 Output 对于每个测试实例输出5行,格式如下: a:num1 e:num2 i:num3 o:num4 u:num5 多个测试实例之间由一个空行隔开。 请特别注意:最后一块输出后面没有空行:) Sample Input 2 aeiou my name is ignatius Sample Output a:1 e:1 i:1 o:1 u:1 a:2 e:1 i:3 o:0 u:1 Author lcy Source C语言程序设计练习(四) */
代码演示:
package ac; import java.util.Scanner; public class P2027 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); //吸收回车换行符‘\r’,'\n',此处是必须的 sc.nextLine(); while(n-->0){ String str=sc.nextLine(); int aCount=0; int eCount=0; int iCount=0; int oCount=0; int uCount=0; char[] chs=str.toCharArray(); //判断并且计数 for(int i=0;i<chs.length;i++){ if(chs[i]=='a'){ aCount++; }else if(chs[i]=='e'){ eCount++; }else if(chs[i]=='i'){ iCount++; }else if(chs[i]=='o'){ oCount++; }else if(chs[i]=='u'){ uCount++; } } //按照格式打印出结果: System.out.println("a:"+aCount); System.out.println("e:"+eCount); System.out.println("i:"+iCount); System.out.println("o:"+oCount); System.out.println("u:"+uCount); if(n!=0){ System.out.println(); } } } }
[P2028问题概述]: 最小公倍数
/** * Lowest Common Multiple Plus Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 60635 Accepted Submission(s): 25203 Problem Description 求n个数的最小公倍数。 Input 输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。 Output 为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。 Sample Input 2 4 6 3 2 5 7 Sample Output 12 70 Author lcy Source C语言程序设计练习(五) */
代码演示:
package ac; import java.util.Arrays; import java.util.Scanner; public class P2028 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); while(sc.hasNext()){ //接收n个数 int n=sc.nextInt(); int[] a=new int ; //求解n个数的乘积 long sum=1; for(int i=0;i<a.length;i++){ a[i]=sc.nextInt(); sum=sum*a[i]; } Arrays.sort(a); //求解最小公倍数------遍历在[a[a.length-1],sum]之间的所有数t A:for(int t=a[a.length-1];t<=sum;t++){ int count=0; for(int i=0;i<a.length;i++){ //t与每个a[i]取余 if(t%a[i]==0){ count++; } //如果t%a[i]的个数为n的话,此t是最小公倍数 if(count==a.length){ System.out.println(t); break A; } } } } } }
[P2029问题概述]:回文串
/** * Palindromes _easy version Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 41353 Accepted Submission(s): 25156 Problem Description “回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。 Input 输入包含多个测试实例,输入数据的第一行是一个正整数n,表示测试实例的个数,后面紧跟着是n个字符串。 Output 如果一个字符串是回文串,则输出"yes",否则输出"no". Sample Input 4 level abcde noon haha Sample Output yes no yes no Author lcy Source C语言程序设计练习(五) */
代码演示:
package ac; import java.util.Scanner; public class P2029 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); while(sc.hasNext()){ int n=sc.nextInt(); sc.nextLine(); while(n-->0){ String str=sc.nextLine(); char[] chs=str.toCharArray(); int count=0; for(int i=0;i<chs.length;i++){ //判断每对字符是否相等 if(chs[i]==chs[chs.length-1-i]){ count++;//如果相等,则计数+1 } } //注意这种方式:两对字符计数了两次 if(count==chs.length){ System.out.println("yes"); }else{ System.out.println("no"); } } } } }
相关文章推荐
- 【ACM】P2000、P2001、P2002、P2003、P2004、P2005代码演示
- 【ACM】P2011、P2012、P2013(*)、P2014代码演示
- HDU 水题 2019 2020 2021 2022 2023 2024 2025 2026 2027
- 【ACM】P2015(*)、P2016、P2017、P2018(*)、P2019代码演示
- 【ACM】P2006、P2007、P2008、P2009、P2010代码演示
- 【ACM】P2030、P2031、P2032、P2033、P2034代码演示
- 【ACM】P1000、P10001、P1002、P1003代码演示
- 【ACM】P2020、P2021、P2022、P2023、P2024代码演示
- 演示Session对象使用 范例(示例代码下载)
- XMLHttp的演示与代码示例
- 演示Session对象使用 范例(示例代码下载)
- [XNA研究强烈推荐]XNA开发雷电类游戏,源代码提供下载学习(提供代码和视频演示)
- ASP.NET Connections 大会的讲义和演示代码
- Interlocking Tile LOD算法演示(包括部分代码)
- 一个简单的态机模式工作流演示(2)(代码与实现)
- 演示事件(Event)怎样使用以及怎样为用户控件添加一个事件(示例代码下载)
- ACM代码总结
- SQL2005常见性能问题排错演示代码[收藏]
- 两首歌曲的汇编演示(发声代码)...
- 【原创】DOS下TSR程序的汇编演示代码2--黑屏保护程序