降序排列——对于一个大于3位数的任意整数
2012-09-20 08:46
218 查看
/* (程序头部注释开始) </p><p>* 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * 作 者: 李兆庆 * 完成日期: 2012 年 9 月 20 日 * 输入描述: * 问题描述及输出: * 实现功能:对于一个大于3位数的任意整数,输出其降序数。例如,整数82319,则其降序数是98321. * 程序头部的注释结束 */ import javax.swing.JOptionPane; public class Num { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String str=JOptionPane.showInputDialog("请输入一个大于三位数的整数"); int w = str.length(); System.out.println("您输入的数字位数为:"+w); int a = Integer.parseInt(str); System.out.println("您输入的数字为:"+a); sort( a, w); } static void sort(int n ,int m){ int s = 1,k=0; int [] a = new int [m]; for (int i = 1; i < m; i++) { s = s*10; } k = s; //将s的值保存下来,最后获得目标数字时使用。 for (int i = 0; i < m; i++) //将输入数的各个位数对应的数值分别存放在a数组中。 { a[i] = n / s; n = n % s; s = s / 10; // System.out.print(" "+x) } for (int i = 0; i < m ; i++) //将数组中的元素进行由高到低的排序 { for (int j = 0; j < m-1; j++) { int t; if (a[j] < a[j+1]) { t = a[j]; a[j] = a[j + 1]; a[j + 1] = t; } } } int e = 0; for (int i = 0; i< m; i++) //得到降序后的目标数字。 { e = e +a[i]*k; k=k/10; //System.out.println(e); } System.out.println("降序数为:"+e); System.out.println(m); } }
相关文章推荐
- 陈利人 面试题 对于一个n位正整数a,去掉其中任意k(k<=n)个数字后,剩下的数字按原次序排列可以组成一个新的正整数。设计一个删数算法,使得剩下的数字组成的正整数最小。
- 对一个5位数的任意整数,求出其降序数
- 对一个5位数的任意整数,求出其降序数。例如,整数是82319,则其降序数是98321。算法提示:将整数的各位数分解到一维整型数组a中,再将a数组中的元素按降序排序,最后输出a数组元素值。
- c++ 对一个5位数的任意整数,求出其降序数
- c++对一个5位数的任意整数,求出其降序数
- 用c++对一个5位数的任意整数,求出其降序数。例如,整数是82319,则其降序数是98321。试建立一个类DescendNUM,用于完成该功能。
- 对于一个n位正整数a,去掉其中任意k(k<=n)个数字后,剩下的数字按原次序排列可以组成一个新的正整数。设计一个删数算法,使得剩下的数字组成的正整数最小。例如,a=13243221,k=5,输出:12
- 输入一组按降序排列的整数数组,再输入一个整数(sum),返回数组中和为sum的两个元素
- 对于一个整数矩阵,存在一种运算,对矩阵中任意元素加一时,需要其相邻(上下左右)某一个元素也加一, 现给出一正数矩阵,判断其是否能够由一个全零矩阵经过上述运算得到。
- 给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含), 指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。
- 对于一个整数矩阵,存在一种运算,对矩阵中任意元素加一时,需要其相邻(上下左右)某一个元素也加一
- 求一个整数任意次方的后三位数
- 对于一个整数矩阵,存在一种运算,对矩阵中任意元素加一时,需要其相邻(上下左右)某一个元素也加一, 现给出一正数矩阵,判断其是否能够由一个全零矩阵经过上述运算得到。
- 从键盘输入一个由字母构成的字符串(不大于30个字符),要求从该串中取出3个不重复的字符,求所有不同的取法。如果字符串中没有取到3个不同的字符,则提示没有结果。对取出的字符要求按字母升序排列成串,对于不
- 谷歌笔试题--给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含), 指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。
- 已知Sn=1+1-2+1-3+...+1-n,对于任意一个整数K,当n满足够大的时候,Sn-K
- 谷歌笔试题--给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含), 指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。
- Java:求整数位数:任意输入一个整数(小于10位),求它的位数
- javascript算法题 求任意一个1-9位不重复的N位数在该组合中的大小排列序号
- 一个求任意整数降序数的程序