JS与循环结构

一、使用java script 计算出1-100中的奇数和和偶数和。
思路:
1.每个数对2进行取余运算,结果为0则为偶数;否则为奇数。
2.采用for循环,if条件语句实现奇数、偶数的和计算。
完整代码:
<script type="text/javascript">
 var sum=0;
 var s=0;
 for(var i=1;i<=100;i++)
 {
  if(i%2==0)
  {
   sum=sum+i;
  }
  else
  {
    s=s+i; 
   }
 }
 document.write("偶数和="+sum+"<br/>");
 document.write("奇数和="+s+"<br/>");
</script>
二、使用java script 计算数组中的最大值和最小值
思路:
先将数组中的第一个元素即a[0]赋值给max,然后将数组中的其他元素和它一一进行比较,如果有数大于初始设定的max,则将该值赋给max,再接着进行比较。
最小值方法同上。
完整代码:
<title>数组中最大最小数</title>
<script type="text/javascript">
var i;
var m,s;
var a = new Array(2,5,3,4,0,6,7,12,9,10);
m=a[0];
for(i=0;i<10;i++)
{
if(a[i]>m)
    {  
  m=a[i];
 }
}
s=a[0];
for(i=0;i<10;i++)
{
if(a[i]<s)
    {  
  s=a[i];
 }
}
document.write("数组中最大的元素="+m+"<br/>");
document.write("数组中最小的元素="+s+"<br/>");
</script>
三、使用java script 判断5位数是否为回文数。
回文数:正序和逆序数字完全一致的数。
思路:将5位数各个位数拆分开来,首位数字=末位数字且第二位数字=倒数第二位数字时,该数为回文数。
完整代码:
<title>5位回文数</title>
<script type="text/javascript">
var n,a,b,c,d,e;
n=parseInt(prompt("请输入一个五位数"));
e=n%10;                           取出个位数
d=(parseInt(n/10))%10;               取出十位数
c=(parseInt(n/100))%10;              取出百位数
b=(parseInt(n/1000))%10;             取出千位数
a=(parseInt(n/10000))%10;            取出万位数
if((a==e)&&(b==d))
{
 alert("它是回文数")
}
else
{
 alert("它不是回文数")
}
</script>

四、使用java script 编写一个程序,输入年月日,对应输出月份属于哪个季节,输入日期是该年中的第多少天?
思路:
1.建立表单,搭建HTML页面
2.编写函数
3.页面调用函数

建立表单
<form action="#" name="data" method="post">
<input type="text" size="4" maxlength="4" name="year" >年
<input type="text" size="2" maxlength="2" name="mon">月
<input type="text" size="2" maxlength="2" name="day">日
<br/><br/>    
<input type="button"  οnclick="fun()" value="属于季节"> <br/><br/>
<input type="button"   οnclick="fun1()" value="计算天数">
</form>    

函数
1.编写函数,使用switch case控制月份对应的季节。
function fun()
{
 var m =document.data.mon.value;
 switch (parseFloat(m))
 {case 1:alert("冬季");break;
 case 2:alert("春季");break;
 case 3:alert("春季");break;
 case 4:alert("春季");break;
 case 5:alert("夏季");break;
 case 6:alert("夏季");break;
 case 7:alert("夏季");break;
 case 8:alert("秋季");break;
 case 9:alert("秋季");break;
 case 10:alert("秋季");break;
 case 11:alert("冬季");break;
 case 12:alert("冬季");break;
 default :
 alert("输入有误");
 return;
  }
}
2.平年闰年的判定
能被4整除且不能被100整除;或能被400整除;
计算该日期是该年第多少天时,将平年闰年每月的日期分别写入两个数组中,当计算总天数时采用for循环先计算(该月-1)的总天数,之后在加上当月的天数。
function fun1()
{   var x=document.data.day.value;
    var y=document.data.year.value;
    var m =document.data.mon.value;
 n=parseFloat(m)
 var q= new Array(31,28,31,30,31,30,31,31,30,31,30,31);
 var w= new Array(31,29,31,30,31,30,31,31,30,31,30,31);
 var sum=0;
     if(y%400==0||y%4==0&&y%100!=0)
  {for(i=0;i<=n-2;i++)
    sum=sum+q[i];
    sum=sum+parseFloat(x);
   }
 else{for(i=0;i<=n-2;i++)
  sum=sum+w[i];
  sum=sum+parseFloat(x);
  }
document.write("天数"+sum+"<br/>")
}

完整代码:
<script type="text/javascript">
function fun()
{
 var m =document.data.mon.value;
 switch (parseFloat(m))
 {case 1:alert("冬季");break;
 case 2:alert("春季");break;
 case 3:alert("春季");break;
 case 4:alert("春季");break;
 case 5:alert("夏季");break;
 case 6:alert("夏季");break;
 case 7:alert("夏季");break;
 case 8:alert("秋季");break;
 case 9:alert("秋季");break;
 case 10:alert("秋季");break;
 case 11:alert("冬季");break;
 case 12:alert("冬季");break;
 default :
 alert("输入有误");
 return;
  }
}
function fun1()
{   var x=document.data.day.value;
    var y=document.data.year.value;
    var m =document.data.mon.value;
 n=parseFloat(m)
 var q= new Array(31,28,31,30,31,30,31,31,30,31,30,31);
 var w= new Array(31,29,31,30,31,30,31,31,30,31,30,31);
 var sum=0;
     if(y%400==0||y%4==0&&y%100!=0)
  {for(i=0;i<=n-2;i++)
    sum=sum+q[i];
    sum=sum+parseFloat(x);
   }
 else{for(i=0;i<=n-2;i++)
  sum=sum+w[i];
  sum=sum+parseFloat(x);
  }
document.write("天数"+sum+"<br/>")
}
</script>
</head>
<body>
<center>
<form action="#" name="data" method="post">
<input type="text" size="4" maxlength="4" name="year" >年
<input type="text" size="2" maxlength="2" name="mon">月
<input type="text" size="2" maxlength="2" name="day">日
<br/><br/>
<input type="button"  οnclick="fun()" value="属于季节"> <br/><br/>
<input type="button" οnclick="fun1()" value="计算天数">
</form> 
</center>
</body>  

五、使用JS计算最大公约数和最小公倍数
思路:t=n;
         n=m%n;
         m=t;  通过递归的算法计算出最大公约数;
最小公倍数=两个数的乘积除以最大公约数;
完整代码:
<title>最大公约数最小公倍数</title>
<script type="text/javascript">
var m,n,t,s;
m=parseInt(prompt("请输入第一个整数"));
n=parseInt(prompt("请输入第二个整数"));
s=m*n;
while(n!=0)
{
 t=n;
 n=m%n;
 m=t;
}
document.write("最大公约数"+m+"<br/>")
s=s/m;
document.write("最小公倍数"+s)
</script>
</head>
 

六、计算sum=a+aa+aaa+aaaa+.....+aaaaaaaaaaaa
            a及项数由键盘控制
<script type="text/javascript">
var n=parseInt(prompt("输入一个数字"));
var m=parseInt(prompt("想要几个数相加?"));
var i,t,sum=n;
t=n;
for(i=1;i<m;i++)
{
 t=10*t+n;
 sum=sum+t
}
alert("总和为"+sum);
</script>

七、水仙花数
即n=个位数的立方和
<title>水仙花数</title>
<script type="text/javascript">
var i,a,b,c;
for(i=100;i<=999;i++)
{   var sum=0;
 a=i%10;
 b=parseInt((i/10))%10;
 c=parseInt((i/100))%10;
 a=a*a*a;
 b=b*b*b;
 c=c*c*c;
 sum=sum+a+b+c;
    if(i==sum)
{
 document.write(i+"&nbsp;&nbsp;&nbsp;")
}
}
</script>

八、计算1-200以内的素数
<script type="text/javascript">
var i,j;
var n=0;
for(i=1;i<=200;i++)
{
 for(j=2;j<i;j++)                         //计算j从2到i能被i整除的数
 {
 if(i%j==0)                                //如果整除,跳出本次循环
   {
    break;
   } 
 }
 if(i==j)                                    //循环结束直到i遇到j,此时i为素数并打印出
 {
 document.write(i+"&nbsp;&nbsp;&nbsp;&nbsp;");
 n++;
 if(n%10==0)
 document.write("<br/>");
 }
}
</script>


九、回文数
输入一个数,对该数进行%和除10操作,使得该数值变为原数的逆序数值;
比较逆序数值和原数,如果一致则为回文数,不一致则不是
<script type="text/javascript">
var i,m,sum=0;
var n=parseInt(prompt("请输入一个整数"));
m=n;
for(i=1;i<m;i++)
{
 sum=sum*10+n%10;
 n=n/10;
 n=parseInt(n);
 
if(n==0)
{
 break;
}
}
if(sum==m)
{
 alert("它是一个回文数")
}else
{
 alert("它不是一个回文数")
}
</script>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值