一判莉、js的基本類型
1.為抵抗洪水券盅,戰(zhàn)士連續(xù)作戰(zhàn)89個(gè)小時(shí),編輯計(jì)算共多少天零多少小時(shí)娘侍?
vardays=parseInt(89/24);varhours=89%24;console.log(days+'天'+hours+'個(gè)小時(shí)');// 3天17小時(shí)
2.小明要到美國(guó)旅游,可是那里的溫度是以華氏度為單位記錄的僵缺,他需要一個(gè)程序?qū)⑷A氏度溫度(80度)轉(zhuǎn)換為攝氏度磕潮,并以華氏度和攝氏度為單位分別顯示該溫度容贝。(提示:攝氏度與華氏度的轉(zhuǎn)換公式為:攝氏度 = 5/9.0*(華氏度-32) 保留3位小數(shù))
varh=80;varc=5/9.0*(h-32);c=parseInt(c*1000)/1000;console.log(c);//? 26.666
3.705、816用js代碼計(jì)算兩個(gè)數(shù)字的個(gè)位膏潮、十位满力、百位相加的和
varnum1=705;varnum2=816;varg1=num1%10;varg2=num2%10;varb1=parseInt(num1/100);varb2=parseInt(num2/100);vars1=parseInt(num1/10)%10;vars2=parseInt(num2/10)%10;console.log(g1+g2+b1+b2+s1+s2);//? 27
二油额、邏輯分支、基礎(chǔ)語(yǔ)句等
1.輸入一個(gè)月份返回這個(gè)月有多少天
varmonth=prompt('請(qǐng)輸入一個(gè)月份');month=Number(month);switch(month){case1:case3:case5:case7:case8:case10:case12:console.log(31);break;case2:console.log(28);break;case4:case6:case9:case11:console.log(30);break;default:console.log('你輸入的月份有誤!');}
2.輸入一個(gè)年份/月份/日期返回這個(gè)日期是這一年的第幾天
varmonth=prompt('輸入一個(gè)月份')-0;varday=prompt('輸入一個(gè)日期')-0;//記錄總天數(shù)varsum=0;switch(month){//以此類推...case4:sum+=31;case3:sum+=31;case2:sum+=31;case1:sum+=day;console.log(sum);
3.能被4整除不能被100整除涩嚣,或者能被400整除
varyear=prompt('輸入一個(gè)年份');if(year%4===0&&year%100!==0||year%400==0){console.log(year+'年是閏年');}
4.一個(gè)加油站為了鼓勵(lì)車主多加油航厚,所以加多有優(yōu)惠幔睬。
92號(hào)汽油麻顶,每升6元冯勉;如果大于等于20升,那么每升5.9元宛瞄;
97號(hào)汽油,每升7元份汗;如果大于等于30升,那么每升6.59元匆帚;
varbh=prompt('請(qǐng)輸入汽油編號(hào)');varl=prompt('請(qǐng)輸入加多少升油');switch(bh){case"92":if(l<20){total=6*l;}elseif(l>=20){total=l*5.9;}break;case"97":if(l<30){total=7*l;}elseif(l>=30){total=l*6.95;}break;default:alert('編號(hào)錯(cuò)誤');}alert(total);
5.返回一個(gè)隨機(jī)整數(shù)[1-100]
varnum=10+Math.floor(Math.random()*(100-10+1));console.log(num);
6.把字符串'20150628'轉(zhuǎn)化為'2015年6月28日'
varstr='20150628';varday=str%100;varyear=Math.floor(str/10000);varmonth=Math.floor(str/100)%100;console.log(year+'年'+month+'月'+day+'日');
7.設(shè)計(jì)一個(gè)猜拳游戲(1代表石頭,2代表剪刀吸重,3代表布)歪今,計(jì)算每次隨機(jī)出現(xiàn)1-3任意一個(gè)數(shù)(parseInt(Math.random()*3)+1),玩家也有三種狀態(tài)寄猩,用玩家出的數(shù)和計(jì)算出的數(shù)進(jìn)行對(duì)比,按照游戲規(guī)則比出勝負(fù)
//生成一個(gè)1-3的隨機(jī)數(shù)var_random=1+Math.floor(Math.random()*3);//用戶輸入1-3的數(shù)字varcunstomNum=prompt('輸入1-3整數(shù)');//進(jìn)行比較varresult=null;switch(cunstomNum){case'1':switch(_random){case1:result="平局";break;case2:result="用戶勝利";break;case3:result="電腦勝利";break;case'2':switch(_random){case1:result="用戶勝利";break;case2:result="平局";break;case3:result="電腦勝利";break;case'3':switch(_random){case1:result="電腦勝利";break;case2:result="用戶勝利";break;case1:result="平局";break;}}alert(result);
8.打印1-100以內(nèi)的奇數(shù)
varnum=1;while(num<100){if(num%2!=0){console.log(num);}num++;}
9.1-100中不是5的倍數(shù)
varnum=0;while(num<=100){num++;if(num%5==0){continue;}console.log(num);}
三替废、循環(huán)語(yǔ)句
1.1+2+3+...+99的和
varsum=0;vari=1;while(i<=100){sum+=i;i++;}console.log(sum);//5050
2.1-100以內(nèi)的偶數(shù)和
varsum=0;for(vari=1;i<101;i++){if(i%2==0){sum+=i;}}console.log(sum);
3.100-999之間的水仙花數(shù)
//水仙花數(shù)是個(gè)/十/百位的數(shù)字相加等于本身(例如:153=1*1*1+5*5*5+3*3*3)for(vari=100;i<1000;i++){varg=i%10;vars=Math.floor(i/10)%10;varb=Math.floor(i/100);if(i==Math.pow(g,3)+Math.pow(s,3)+Math.pow(b,3)){console.log(i);//153椎镣、370衣陶、371、407}}
4.求10!
// 階乘 10*9*...*1varj=1;for(vari=10;i>0;i--){j*=i;}console.log(j);//3628800
5.求10! + 9! +...+1!
varj=1;varsum=0;for(vari=1;i<11;i++){j*=i;sum+=j;}console.log(sum);//4037913
6.打印直角三角形
//*//* *//* * *//* * * *for(varj=0;j<4;j++){for(vari=0;i<=j;i++){document.write('* ');}document.write('</br>');}
7.入職薪水10k蒲跨,每年漲幅5%,50年后工資多少
//Math.pow(1.05,50)*10000;varmoney=10000;for(vari=0;i<50;i++){money*=1.05;}console.log(money);
8.打印圖形
//*//* *//* * *//* * * *//* * * *//* * *//* * //* for(vari=1;i<6;i++){for(varj=0;j<i;j++){document.write('* ');}document.write('<br/>');}for(vari=1;i<6;i++){for(varj=0;j<6-i;j++){document.write('* ');}document.write('<br/>');}
9.打印九九乘法表
for(vari=1;i<10;i++){for(varj=1;j<=i;j++){varsum=i*j;if(sum<10){sum=' '+sum;}document.write(i+'*'+j+'='+sum+' ');}document.write('<br/>');}
10.輸出100-200之間所有的質(zhì)數(shù)
for(varj=100;j<=200;j++){for(vari=2;i<j;i++){varflag=true;if(j%i==0){flag=false;break;}}if(flag){console.log(j);}}
四或悲、函數(shù)
1.函數(shù)實(shí)現(xiàn)獲取任意區(qū)間的隨機(jī)整數(shù)
functiongetRandom(max,min){//設(shè)置默認(rèn)值? min=min||0;//保證max為最大值堪唐,min為最小值if(max<min){var_max=max;max=min;min=_max;}var_random=min+Math.floor(Math.random()*(max-min+1));return_random;}console.log(getRandom(1,30));
2.籃球從5米的地方掉下來(lái)淮菠,每次彈起的高度是原來(lái)的30%,經(jīng)過(guò)幾次彈起高度不足0.1米
vari=0;for(varh=5;h>0.1;i++){h*=0.3;}console.log(i);
3.有一個(gè)64個(gè)方格的棋盤(pán)枢赔,在第一個(gè)方格里面放1粒芝麻的重量是0.00001kg,第二個(gè)里面放2粒碎赢,第三個(gè)里面放4速梗,計(jì)算 棋盤(pán)上放的所有芝麻的重量
varsum=0;for(vari=0;i<64;i++){sum+=Math.pow(2,i);}sum*=0.00001;
4.七必過(guò), 打印1-100中,不包含7,且不是七的倍數(shù)的數(shù)字
functionpassSeven(){for(vari=1;i<100;i++){if(i%7!=0&&i%10!=7&&Math.floor(i/10)%10!=7){console.log(i)}}}passSeven();
5.隨機(jī)驗(yàn)證碼和顏色
//四位/六位驗(yàn)證碼functiongetRandom(max,min){min=min||0;returnmin+Math.floor(Math.random()*(max-min+1))}functiongetCode(num){num=num||4;varstr='';for(vari=0;i<num;i++){str+=getRandom(9);}console.log(str);returnstr;}getCode();getCode(6);//隨機(jī)顏色functiongetColor(){varstr='#';for(vari=0;i<6;i++){varnum=getRandom(15).toString(16);str+=num;}console.log(str);returnstr;}getColor();
6.函數(shù)實(shí)現(xiàn)階乘
functiongetJc(num){varsum=1;for(vari=1;i<=num;i++){sum*=i;}returnsum;}console.log(getJc(10));
7.編寫(xiě)一個(gè)參數(shù), 設(shè)置一個(gè)參數(shù)為n, 當(dāng)n為奇數(shù)時(shí),返回 1 + 1/3 + 1/5 +..... + 1/n 的和, 當(dāng)n為偶數(shù)時(shí), 返回 1 + 1/2 + 1/4 + 1/6 + ..... + 1/n 的和;
functiongetSum(n){varsum=1;var_num;if(n%2){// 能進(jìn)來(lái)證明是奇數(shù)num=3;}else{num=2;}// _num = n % 2 ? 3 : 2;for(vari=_num;i<=n;i+=2){sum+=1/i;}}
編寫(xiě)一個(gè)函數(shù), 每次執(zhí)行峦嗤,返回?cái)?shù)字最大的一個(gè)
functiongetMax(){varmax=arguments[0];for(vari=1;i<arguments.length;i++){if(max<arguments[i]){max=arguments[i];}}returnmax;}varmax=getMax(1,4,5,6,2,3,6,73,2);
9.遞歸實(shí)現(xiàn)階乘
functionjiecheng(num){if(num==1){return1;}returnjiecheng(num-1)*num;}console.log(jiecheng(5));
10.遞歸實(shí)現(xiàn)斐波拉契
functionfn(num){if(num==1||num==2){return1;}returnfn(num-2)+fn(num-1);}console.log(fn(5));