2017.8.21每天五个编程题(七、八)
来源:互联网 发布:上海数据交易中心工资 编辑:程序博客网 时间:2024/06/05 22:43
第三十六题:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
import java.util.Scanner;public class lianxi36 {public static void main(String[] args) { int N =10; int[] a = new int[N]; Scanner s = new Scanner(System.in); System.out.println("请输入10个整数:"); for(int i=0; i<N; i++) { a[i] = s.nextInt(); } System.out.print("你输入的数组为:"); for(int i=0; i<N; i++) { System.out.print(a[i] + " "); } System.out.print("\n请输入向后移动的位数:"); int m = s.nextInt(); int[] b = new int[m]; for(int i=0; i<m; i++) { b[i] = a[N-m+i]; } for(int i=N-1; i>=m; i--) { a[i] = a[i-m]; } for(int i=0; i<m; i++) { a[i] = b[i]; }System.out.print("位移后的数组是:"); for(int i=0; i<N; i++) { System.out.print(a[i] + " "); }}}
第三十七题:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
package com.eightth.java;import java.lang.reflect.Array;import java.util.Arrays;import java.util.Scanner;public class Test37 {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("请输入总人数:");int p = input.nextInt();boolean[] people = new boolean [p];for(int i = 0;i<people.length;i++){people[i] = true;}int t =0; int len = people.length;while(len>1){for(int i = 0;i<people.length;i++){if(people[i]){t++;}if(t==3){people[i] = false;len --;t=0;}}}System.out.println("现在的情况是:"+Arrays.toString(people));for(int i = 0; i<people.length;i++){if(people[i]){System.out.println("剩下的是第:"+(i+1)+"个人");}}}}
第四十题:字符串排序
public class lianxi40 {public static void main(String[] args) { int N=5; String temp = null; String[] s = new String[N]; s[0] = "matter"; s[1] = "state"; s[2] = "solid"; s[3] = "liquid"; s[4] = "gas"; for(int i=0; i<N; i++) { for(int j=i+1; j<N; j++) { if(compare(s[i], s[j]) == false) { temp = s[i]; s[i] = s[j]; s[j] = temp; } } } for(int i=0; i<N; i++) { System.out.println(s[i]); }}static boolean compare(String s1, String s2) { boolean result = true; for(int i=0; i<s1.length() && i<s2.length(); i++) { if(s1.charAt(i) > s2.charAt(i)) { result = false; break; } else if(s1.charAt(i) <s2.charAt(i)) { result = true; break; } else { if(s1.length() < s2.length()) { result = true; } else { result = false; } } } return result;}}
第五十二题:
将一个键盘输入的数字转化成中文输出
(例如:输入:1234567 输出:一百二拾三万四千五百六拾七)
用java语言实现,,请编一段程序实现!
package com.eightth.java;import java.util.HashMap;import java.util.Map;import java.util.Scanner;public class MapTest {public static void main(String[] args) {Map<Object, String> map = new HashMap<Object, String>();map.put('1', "一");map.put('2', "二");map.put('3', "三");map.put('4', "四");map.put('5', "五");map.put('6', "六");map.put('7', "七");map.put('8', "八");map.put('9', "九");map.put('0', "零");map.put('.', "点");Scanner sc = new Scanner(System.in);System.out.println("请输入一串数字:");String a = sc.nextLine();System.out.println("转换成大写为:");String newS = "";char[] ch = a.toCharArray();for (int i = ch.length, s = 0; i > 0; i--, s++) {if (ch[s] == '零') {System.out.println("不能以零开头");break;}int num = 0;if (i == 9) {newS += map.get(ch[s]) + "亿";continue;}if (i > 5) {if (i % 4 == 0) {// 千num = 4;} else {num = i % 4;}} else {num = i % 6;}switch (num) {case 1:newS += map.get(ch[s]) + "";break;case 2:newS += map.get(ch[s]) + "拾";break;case 3:newS += map.get(ch[s]) + "百";break;case 4:newS += map.get(ch[s]) + "千";break;case 5:newS += map.get(ch[s]) + "万";break;}}System.out.println(newS);}}
阅读全文
0 0
- 2017.8.21每天五个编程题(七、八)
- 2017.8.6每天五个编程题(二)
- 2017.8.7每天五个编程题(三)
- 2017.8.8每天五个编程题(四)
- 2017.8.9每天五个编程题(五)
- 2017.8.10每天五个编程题(六)
- 2017.8.16每天五个编程题(九)
- 2017.8.17每天五个编程题(十)
- 每天一道编程题(八)--------百钱买百鸡
- 每天一道编程题(八)----------牛顿迭代法求根式
- 每天一道编程题(七)------------------快速排序
- 每天一点Js(七)
- 每天五个番茄时间
- 每天五个linux命令
- 每天五个java相关面试题(1)--struts2部分
- 每天五个java相关面试题(2)
- 每天五个java相关面试题(3)
- 每天五个java相关面试题(4)
- 委托模式
- Linux expr命令
- c语言实现线性表的建立,初始化,插入,删除,查找,遍历以及时间复杂度分析
- C语言接口与实现【第四章】 setjmp/longjmp非局部跳转函数分析
- 解决安卓7.0系统下载后安装文件出现的问题
- 2017.8.21每天五个编程题(七、八)
- HTC 获取trigger键,按下执行相应操作
- VC CFineFinder遍历文件夹下的所有文件
- 第一个只出现一次的字符+数组中重复的数字
- css3 flex属性flex-grow、flex-shrink、flex-basis学习笔记
- 字符串拷贝函数memcpy和strncpy以及snprintf 的性能比较
- hdoj 5952 Counting Cliques
- 归并排序算法
- js获取当前时间为整点,没有时分秒