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