概述
1.猜数游戏(在1-10中随机选出一个数,如果输入的数大了就输出“猜大了”;如果输出的数小了就输出猜小了“”)-----循环嵌套语句
function guess(){//定义函数
var num=parseInt(Math.random()*10);//随机生成1——10的整数
console.log(num);
while(true){//直接将条件设置为真
var guessnum=prompt("请输入你要猜的数");
if(guessnum=="exit"){//当猜到exit时,直接退出该循环
console.log("欢迎下次再来");
break;
}if(guessnum>num){//当循环为真;输出“猜大了”
console.log("猜大了")
}else if(guessnum<num){//当循环为真;输出“猜小了”
console.log("猜小了")
}else{
console.log("恭喜你,猜对了");
break;
}
}
}
2.用户输入年份,月份,日期,计算输入的这一天是这一年的第几天---------循环语句
function time(){//输入年 ,月,日
var year=Number(prompt("请输入年份"));
var month=Number(prompt("请输入月份"));
var day=Number(prompt("请输入日期"));
var i=1;//循环变量
var total=0;//设置累加的天数
var isrun=(year%4==0 && year%100!=0) || year%400==0 //判断这一年是否为闰年
while(i<month){//执行,输入的日期是这一年的多少天----当前年份的总天数
//累加天数
switch(i){//运用switch(){}语句来确定每月所对应的天数
case 1://case的下落
case 3:
case 5:
case 7:
case 8:
case 10:
total+=31;
break;
case 2:
//判断2月份的天数
if(isrun){
total+=29
}
total+=28;
break;
case 4:
case 6:
case 9:
case 11:
total+=30;
break;
}
i++;
}
total=total+day;//输出该月是该年的第几天
console.log(total)
3.打印出1-100之间的数-----循环语句
function fun(){
//控制台打印1-100之间所有的数字
for(var i=1(声明变量i);i<=100(根据区间来将变量进行判断);i++(变量的更新;防止进入死循环)){
console.log(i);
}
console.log(i);//
}
4. 定义一个函数,打印九九乘法口诀表------>循环语句
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
...
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
var num=""
function cheng(){
for(line=1;line<10;line++){//控制行的语句(外层循环)
for(var i=1;i<=line;i++){//控制每一行的循环
var result=line*i;
num+=i+"*"+line+"="+i*line;
document.write(i+"*"+line+"="+i*line+"t")//将line的每一行空格
}
document.write("<br />")//将line的每一行进行换行处理
}
}
5..计算用户输入的数字的阶乘,例如用户输入的是5,则计算5的阶乘,5的阶乘为 5*4*3*2*1*/
var jie=prompt("输入数字的阶乘");//输入该数字的阶乘
var num=1;//
for(var i=2 ;i<=jie;i++){
num=num+"*"+i;//排列出num“*”i
}
console.log(num);
6..打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 */
/*for( var shui=100;shui<1000;shui++){//s输出水仙花这个数,在进行区间判断
shui=Number(shui);将其数据类型定义为整数
var gei =shui%10;//通过取余来得到其个位数的数字
var s=parseInt((shui/10)%10);//用类型的办法来得到其十位数的的数
var b=parseInt(shui/100);//得到百位数的数
if(shui==(gei*gei*gei)+(s*s*s)+(b*b*b)){;//根据条件来判断是否为水仙花数
console.log(shui);
}
}
7.求s=a+aa+aaa+aaaa+aa...a的值,其中a(数字)是一个数字。例如2+22+222+2222+22222(此时共有5(叠数)个数相加),几个数相加有键盘控制。
//判断
var num=prompt("请输入一个数");//用户输出数字
var d=prompt("请输入他的叠数");//用户输出该数字的叠数
var n=0,sum=0;//声明n为加数;sum为累加的和
for(var i=0;i<=d;i++){//判断条件;如果声明一个变量,他的范围不超过这个叠数
sum+=n*10+num;//累加
}
console.log(sum);//输出
8.判断101-200之间有多少个素数,并输出所有素数(大于1的自然数,且他的因子只有两个(他本身和1))。
var sushu;
for(var sushu=101;sushu<199;sushu++){
var sushu;//声明变量,定义为素数
var count = 0;//count定义为该数因子的个数
for( var j = 1(声明一个数j) ; j<= sushu(将j作为一个小于素数自然数) ; j++(更新) ){
if( sushu%j == 0 ){//判断在这个数是否有因子
//因子
count++; //有一个因子,因子数就加一
}
}
//循环结束后 如果 count == 2 一定是素数;因为素数只有一个因子
if( count == 2 ){
console.log(sushu)
}
}
console.log(sushu);
9.定义一个函数,返回1+1/3+1/5+1/7+....1/n(所有分母都属于奇数)的和*/
function num(){
var r=Number(prompt("请输入一个数"));
for(var i=1,s=0;i<=r;i++){
if(i%2!=0){//判断i是否为奇数
s+=1/i;//累加所有的和
}
}
console.log(s);
}
10.求1-100之间所有数的积
var num = 1;//(定义累乘的变量)
for(var i =1;i<= 100;i++){//判断名题
num *= i
}
11.求1-100之间的所有数的和,及平均值
var s = 0;//声明累加的和
var p = 0;//声明平均数
for(var i = 1; i <= 100;i++){//输入他的区间
s = s + i;//所有的和
if (i == 100){//平均数
p = s /i;
}
}
console.log(s,p)
12.用"*"表示十行十列的矩阵
for(var i=1;i<=10;i++){//排出行数,控制行的外层循环
for( var r=1;r<=10;r++){//排出每一行的内容
document.write(“*”)//满足条件后再页面显示出“*”的图样
}
document.write(“<br />”)//在每一行输出完后进行换行
}
console.log()
13.输入一个数字,然后判断是否为正整数,如果不是,提示重新输入;如果是,将该数字左右反转,然后输出(列如:12345,翻转之后为54321)
var sum=1;
for(var i=1;i<=2;){循环遍历
var num =prompt("请输入一个数字");
if(Number(num)>0&&parseint(num)==parsefloat(num)){判断是否只一个整数
break;
}
}
/*num=12345
5 num%10;
4 num/10%10;
3 num/100%10;
........
*/
doucument.write(“您输入的数字为:“+num+”<br />”);
for(var j=0;;j++){
sum*=10;
var fz=parseInt(num%sum/(sum/10));
document.write(fz);
if(num-sum<=0){
break;
}
}
实现效果;您输入的数字为:123456 654321
14.1~100奇数和
var sum=0; for(var i=1,sun=0;i<=100;i+=2){循环输出1-100的奇数;并声明累加sum的初始值 sum+=i;累加 } document.write(sum+"<br />");
15.1~100偶数和
var sum=0;
for(var i=2,sun=0;i<=100;i+=2){循环输出所有偶数;并声明累加sum的初始值
sum+=i;
}
document.write(sum);
16、五个小朋友排成一队。
问第一个多大了,第一个说比第二个大两岁,
问第二个,第二个说比第三个大两岁,以此类推。
问第五个小朋友几岁了,第五个小朋友说3岁了。
问第一个小朋友几岁?
var a = 1;声明一个变量a(代表第一个小朋友的年龄);
for (var i=1; i<=5; i++){循环出每个小朋友的年龄
a = a + 2;根据题目条件来累加年龄 } document.write("第一个小朋友"+a+"岁了");
17、凑钱1,2,5凑20元钱有多少种可能
for(var a=0;a<=20;a++){循环1时是次数
for(var b=0;b<=10;b++){2块时凑齐的次数 for(var c=0;c<=4;c++){5块时凑齐的次数 if(a+2*b+5*c==20){ document.write("一块:"+a+"两块:"+b+"五块:"+c+"<hr />") } } } }
18.定义函数,去掉数组中重复的元素
function num1(){//定义一个函数
var j=[1,2,3,4,5,6,2,1,4,7,911,2,1];//输出数组的每个元素
for(var i=0,result=[];i<=j.length-1;i++){//循环遍历数组j每个元素;并创建一个空数组result
for (var z=0;z<result.length;z++){//循环遍历数组result的每个元素;
if(j[i]==result[z]){//如果数组z和数组j中有相等的元素;则退出当前循环
break;//
}
}
if(z==result.length){//如果没有相同的元素,则将这个元素存储在result数组中
result[result.length]=j[i];//
}
}
console.log(result);//最后输出的数组中没有重复的元素
}
19.定义函数,找出一个整数数组中的最大值
function num(){//有一个用来存储最大值的变量 max 将第一个元素赋值给max
var zheng=[1,2,3,4,5,6,2,1,4,7,911,2,1];
var max=zheng[0]
for(var i=1 ;i<=zheng.length-1;i++){//从第二个元素下标唯一的元素开始遍历数组
if(max<zheng[i]){//将数组中的元素和max做比较
max=zheng[i]
//如果arr数组中的元素大于max
//修改max中的值,为数组当前的值
}
}
console.log(max) //zheng[i]>max && (max=arr[i]);
}
20.编写一个程序,最多接受10个数字,并求出其中所有正数的和。
用户可通过输入exit终止程序,统计出用户输入的正数个数,并显示这些正数的和。
(1)输入非数值,不占用10次机会之一,但要求重新输入;
(2)输入的是数值,只累加整数;
判断是否为一个数:Number(num)不为NaN(说明为数字)
判断一个数字为正数:Number(num)>0;
判断一个数字是否为整数:parseint(num)=parseFloat(num);
var i=1,sum=0,n=0;
while(i<=3){
var num = prompt("请您输入一个数,我会为您计算出所有正数的和~");
if(Number(num)){
if(num==999){
break;
}
else if(num>=0){
sum = sum + parseFloat(num);
i++;
n++;
}
else if(num<0){
i++;
}
}
}
document.write("您一共输入"+n+"个正整数"+"<br />它们的和为:"+sum);
转载于:https://www.cnblogs.com/lyx1014/p/10864404.html
最后
以上就是大意小天鹅为你收集整理的js(循环,算法,数组)的全部内容,希望文章能够帮你解决js(循环,算法,数组)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复