2 jassibel jassibel 于 2016.09.22 14:01 提问

2.输入a ,b,c 三个个位数(0-9)之间,组成一个最大的三位数 用JavaScript来写

2.输入a ,b,c 三个个位数(0-9)之间,组成一个最大的三位数 用JavaScript来写,怎么写 谢谢 或者告诉我思路

7个回答

showbo
showbo   Ds   Rxr 2016.09.22 14:31

3个数字放入数组desc 排序,join下就是你要的

        var arr = [];
        while (arr.length != 3) {
            var v = prompt('输入数字!');
            if (/^\d$/.test(v)) arr.push(parseInt(v));
            else alert('请输入数字,长度为1!')
        }
        alert('输入数字为:' + arr.join(','))
        arr.sort(function (a, b) { return b - a })
        alert('组成的最大数字为:'+arr.join(''))
qgfjeahn
qgfjeahn 正则用的好666
接近 2 年之前 回复
jassibel
jassibel 谢谢
接近 2 年之前 回复
AutomaticScript
AutomaticScript   2016.09.22 15:42

是这样吗?

 [3, 1, 9].sort().reverse().join('')
jassibel
jassibel 谢谢
接近 2 年之前 回复
zy_281870667
zy_281870667   Ds   Rxr 2016.09.22 14:31

javascript的array对象,有sort方法。
你直接把输入的三个数字加入到array里,然后排序,
排序完毕,定义一个空串的变量和一个for循环,
for循环里,定义的空串变量每次都加上当前的array循环对象即可

jassibel
jassibel 谢谢
接近 2 年之前 回复
leewers
leewers   2016.09.22 14:33

//主要思路是将三个数字中比较大的数放在前面,比较小的数放在后面,这就使得组成的三位数最大。不过代码并没有考虑三个数字都是0的情况
function generateMaxNum(a, b, c){
var max = (a > b) ? a : b; //比较出a,b中较大值,赋给max
var mid = a + b - max; //较小值赋给mid和min
var min = mid;

if(c > max){//将c与a,b的较大值比较,如果c比a,b较大值还要大,则其成为最大值
    mid = max; //将a,b较大值赋给mid(中间值)
    max = c;
}
else{ //如果c比max小,则max维持不变
    if(mid > c) //c继续与a,b中较小值比较
        min = c; //如果c比a,b中较小值小,则c为最小值
    else
        mid = c; //否则c为中间值
}

return max * 100 + mid * 10 + min;

}

leewers
leewers 回复木子李家的小提提:是用的三目操作符,其实三目操作符是可以用if语句来替代的,只是个人觉得方便就用了。比如a = (a > 0) ? 0 : 1;可以用if(a > 0) a = 0; else a = 1;来代替,效果是一样的。 另外return的内容其实就是把max作为百位(乘100),mid作为十位(乘10),min作为个位(乘1)。其实其他答案直接把三个数放到数组里进行排序,再把它们拼接到字符串上的方法写起来会更方便一点。
接近 2 年之前 回复
jassibel
jassibel 请问这个用的是三目运算符不,我想问下return 那个为什么要这么写 我是新手 很多不懂的,请你不要嫌麻烦 谢谢
接近 2 年之前 回复
jassibel
jassibel 请问这个用的是三目运算符不,我想问下return 那个为什么要这么写 我是新手 很多不懂的,请你不要嫌麻烦 谢谢
接近 2 年之前 回复
qq_29594393
qq_29594393   Ds   Rxr 2016.09.22 14:37

直接输入三个数,放入数组 arr中 ,arr.sort()排序 一下 ,定义一个var str="" 循环 str+=arr.pop(),完了

jassibel
jassibel 谢谢
接近 2 年之前 回复
u013693144
u013693144   2016.09.22 15:01
  function getMaxNumber( a, b, c){
    var d=[a,b,c];
    d.sort();
    var max="";
      for(var i=0;i<d.length;i++){
        max=d[i]+max;
    }
    alert(max);
  }

jassibel
jassibel 谢谢
接近 2 年之前 回复
u013693144
u013693144   2016.09.22 18:17

一句话搞定,diao爆了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
用0-9之间不同的三个数构成一个三位数,共可以得到的数的个数
void main() { int i,j,k,cnt; cnt=0; for(i=1;i for(j=0;j if(i==j)continue; else for(k=0;k if( k!=i&&k!=j) cnt++; printf("cnt=%d\n",cnt); }
用0到9的三个数构成不同的三位数,统计可以得到多少个数
#include<stdio.h> main() { int i,j,k,count; count=0; for(i=1;i<10;i++) for(j=0;j<10;j++) if(i==j) continue; else for(k=0;k<10;k++) if(k!=i&&k!=j) count++; printf("count=
a、b、c 均是0 到9 之间的数字。abc+bcc=532,求满足条件的所有a、b、c 的值
设a、b、c 均是0 到9 之间的数字,abc、bcc 是两个三位数,且有:abc+bcc=532。求满足条件的所有a、b、c 的值。 #include int main() { int i; int a,b,c; for(i=0;i<1000;i++) { a = i/100; b = (i-a*100)/10; c
用js输入一个三位数字计算三位数字的和
Document var a = prompt("请输入一个三位数"); var b = a%10 //个位数字 var c = (a%100)/10 var d = Math.floor(c)//十位数字 var e = (a/100) var f = Math.floor(e)//百位数字 var g = b+d+f al
java算法----0至9这十个数组成两个三位数和一个四位数
http://yangjianzhouctgu.iteye.com/blog/1884313 Java代码   package com.zhonghaiwangluokeji.interview;     /**   * 0-9这十个数,组合成两个三位数和一个四位数   * 求出满足条件:两个三位数相加等于那个四位数   * 的所有这些数   * @author yangj
(最简单的)用1,2,3……,9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:3.输出所有解。
用1,2,3……,9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:3.输出所有解。 StringBuffer sb = new StringBuffer(""); for (int i = 123; i <=987/3 ; i++) { if (i%10+i/10%10+i/10/
设a b c均为0到9之间的数字,abc,bcc是两个三位数,且有:abc+bcc=532,求满足条件的所有a,b,c
#include using namespace std; int main() { int a,b,c,t1,t2,i,j,k; for(a=1;a<=9;a++) { for(b=1;b<=9;b++) { for(c=0;c<=9;c++) { t1=a*100+b*10+c; t2=b*100+c*10+c; if(t1+t2==532)
写一个编程题的感悟 (求出两个三位数相乘处最大的回文数)
求出两个三位数相乘处最大的回文数: 如题,思路很快就相出来了,代码也很快的完成了,在写代码的过程中,优化了原来分解数的算法,三行代码,完美代替了原来十几行的代码(论算法的重要性),代码写完了就是各种出问题,其实思路是正确的,当然思路确实有点问题,因为在循环中,终值的大小与原来的变量end,没有做比较,发现后,及时做出了修改,然后就是判断的多余, 循环中的判断要特别谨慎, 一不
Python中不重复三位数算法的计算
Python中不重复三位数算法的计算
神秘的三位数 有这样一个3位数,组成它的3个数字阶乘之和正好等于它本身。即:abc = a! + b! + c!
/* 神秘的三位数 有这样一个3位数,组成它的3个数字阶乘之和正好等于它本身。即:abc = a! + b! + c! 下面的程序用于搜索这样的3位数。请补全缺失的代码。 把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。 */ public class 神秘3位数 { public static void main(String[] args)