2.输入a ,b,c 三个个位数(0-9)之间,组成一个最大的三位数 用JavaScript来写,怎么写 谢谢 或者告诉我思路
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(''))
javascript的array对象,有sort方法。
你直接把输入的三个数字加入到array里,然后排序,
排序完毕,定义一个空串的变量和一个for循环,
for循环里,定义的空串变量每次都加上当前的array循环对象即可
//主要思路是将三个数字中比较大的数放在前面,比较小的数放在后面,这就使得组成的三位数最大。不过代码并没有考虑三个数字都是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;
}
直接输入三个数,放入数组 arr中 ,arr.sort()排序 一下 ,定义一个var str="" 循环 str+=arr.pop(),完了
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);
}
是这样吗?
[3, 1, 9].sort().reverse().join('')
一句话搞定,diao爆了