JavaScript基礎(chǔ)編程練習(xí)

一、js的基本類型

1.為抵抗洪水,戰(zhàn)士連續(xù)作戰(zhàn)89個小時,編輯計算共多少天零多少小時?

vardays=parseInt(89/24);varhours=89%24;console.log(days+'天'+hours+'個小時');// 3天17小時

2.小明要到美國旅游,可是那里的溫度是以華氏度為單位記錄的,他需要一個程序?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代碼計算兩個數(shù)字的個位、十位、百位相加的和

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ǔ)語句等

1.輸入一個月份返回這個月有多少天

varmonth=prompt('請輸入一個月份');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.輸入一個年份/月份/日期返回這個日期是這一年的第幾天

varmonth=prompt('輸入一個月份')-0;varday=prompt('輸入一個日期')-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('輸入一個年份');if(year%4===0&&year%100!==0||year%400==0){console.log(year+'年是閏年');}

4.一個加油站為了鼓勵車主多加油,所以加多有優(yōu)惠。

92號汽油,每升6元;如果大于等于20升,那么每升5.9元;

97號汽油,每升7元;如果大于等于30升,那么每升6.59元;

varbh=prompt('請輸入汽油編號');varl=prompt('請輸入加多少升油');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('編號錯誤');}alert(total);

5.返回一個隨機(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è)計一個猜拳游戲(1代表石頭,2代表剪刀,3代表布),計算每次隨機(jī)出現(xiàn)1-3任意一個數(shù)(parseInt(Math.random()*3)+1),玩家也有三種狀態(tài),用玩家出的數(shù)和計算出的數(shù)進(jìn)行對比,按照游戲規(guī)則比出勝負(fù)

//生成一個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)語句

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ù)是個/十/百位的數(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='&nbsp;&nbsp;'+sum;}document.write(i+'*'+j+'='+sum+'&nbsp;&nbsp;');}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ù)實現(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米的地方掉下來,每次彈起的高度是原來的30%,經(jīng)過幾次彈起高度不足0.1米

vari=0;for(varh=5;h>0.1;i++){h*=0.3;}console.log(i);

3.有一個64個方格的棋盤,在第一個方格里面放1粒芝麻的重量是0.00001kg,第二個里面放2粒,第三個里面放4,計算 棋盤上放的所有芝麻的重量

varsum=0;for(vari=0;i<64;i++){sum+=Math.pow(2,i);}sum*=0.00001;

4.七必過, 打印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ī)驗證碼和顏色

//四位/六位驗證碼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ù)實現(xiàn)階乘

functiongetJc(num){varsum=1;for(vari=1;i<=num;i++){sum*=i;}returnsum;}console.log(getJc(10));

7.編寫一個參數(shù), 設(shè)置一個參數(shù)為n, 當(dāng)n為奇數(shù)時,返回 1 + 1/3 + 1/5 +..... + 1/n 的和, 當(dāng)n為偶數(shù)時, 返回 1 + 1/2 + 1/4 + 1/6 + ..... + 1/n 的和;

functiongetSum(n){varsum=1;var_num;if(n%2){// 能進(jìn)來證明是奇數(shù)num=3;}else{num=2;}// _num = n % 2 ? 3 : 2;for(vari=_num;i<=n;i+=2){sum+=1/i;}}

編寫一個函數(shù), 每次執(zhí)行,返回數(shù)字最大的一個

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.遞歸實現(xiàn)階乘

functionjiecheng(num){if(num==1){return1;}returnjiecheng(num-1)*num;}console.log(jiecheng(5));

10.遞歸實現(xiàn)斐波拉契

functionfn(num){if(num==1||num==2){return1;}returnfn(num-2)+fn(num-1);}console.log(fn(5));

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容