JavaScript基础编程练习

一、js的基本类型

1.为抵抗洪水,战士连续作战89个小时,编辑计算共多少天零多少小时?

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

2.小明要到美国旅游,可是那里的温度是以华氏度为单位记录的,他需要一个程序将华氏度温度(80度)转换为摄氏度,并以华氏度和摄氏度为单位分别显示该温度。(提示:摄氏度与华氏度的转换公式为:摄氏度 = 5/9.0*(华氏度-32) 保留3位小数)

varh=80;varc=5/9.0*(h-32);c=parseInt(c*1000)/1000;console.log(c);//  26.666

3.705、816用js代码计算两个数字的个位、十位、百位相加的和

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


二、逻辑分支、基础语句等

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;//记录总天数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.一个加油站为了鼓励车主多加油,所以加多有优惠。

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.返回一个随机整数[1-100]

varnum=10+Math.floor(Math.random()*(100-10+1));console.log(num);

6.把字符串'20150628'转化为'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.设计一个猜拳游戏(1代表石头,2代表剪刀,3代表布),计算每次随机出现1-3任意一个数(parseInt(Math.random()*3)+1),玩家也有三种状态,用玩家出的数和计算出的数进行对比,按照游戏规则比出胜负

//生成一个1-3的随机数var_random=1+Math.floor(Math.random()*3);//用户输入1-3的数字varcunstomNum=prompt('输入1-3整数');//进行比较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以内的奇数

varnum=1;while(num<100){if(num%2!=0){console.log(num);}num++;}

9.1-100中不是5的倍数

varnum=0;while(num<=100){num++;if(num%5==0){continue;}console.log(num);}


三、循环语句

1.1+2+3+...+99的和

varsum=0;vari=1;while(i<=100){sum+=i;i++;}console.log(sum);//5050

2.1-100以内的偶数和

varsum=0;for(vari=1;i<101;i++){if(i%2==0){sum+=i;}}console.log(sum);

3.100-999之间的水仙花数

//水仙花数是个/十/百位的数字相加等于本身(例如: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之间所有的质数

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);}}


四、函数

1.函数实现获取任意区间的随机整数

functiongetRandom(max,min){//设置默认值  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%,经过几次弹起高度不足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,且不是七的倍数的数字

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.随机验证码和颜色

//四位/六位验证码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);//随机颜色functiongetColor(){varstr='#';for(vari=0;i<6;i++){varnum=getRandom(15).toString(16);str+=num;}console.log(str);returnstr;}getColor();

6.函数实现阶乘

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

7.编写一个参数, 设置一个参数为n, 当n为奇数时,返回 1 + 1/3 + 1/5 +..... + 1/n 的和, 当n为偶数时, 返回 1 + 1/2 + 1/4 + 1/6 + ..... + 1/n 的和;

functiongetSum(n){varsum=1;var_num;if(n%2){// 能进来证明是奇数num=3;}else{num=2;}// _num = n % 2 ? 3 : 2;for(vari=_num;i<=n;i+=2){sum+=1/i;}}

编写一个函数, 每次执行,返回数字最大的一个

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.递归实现阶乘

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

10.递归实现斐波拉契

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 222,183评论 6 516
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,850评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,766评论 0 361
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,854评论 1 299
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,871评论 6 398
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,457评论 1 311
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,999评论 3 422
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,914评论 0 277
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,465评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,543评论 3 342
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,675评论 1 353
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,354评论 5 351
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,029评论 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,514评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,616评论 1 274
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 49,091评论 3 378
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,685评论 2 360

推荐阅读更多精彩内容