成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

JavaScript實現(xiàn)打印星型金字塔功能實例分析

本文實例講述了JavaScript實現(xiàn)打印星型金字塔功能。分享給大家供大家參考,具體如下:

成都創(chuàng)新互聯(lián)歡迎咨詢:13518219792,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù),成都創(chuàng)新互聯(lián)網(wǎng)頁制作領(lǐng)域十余年,包括成都宴會酒店設(shè)計等多個領(lǐng)域擁有豐富的網(wǎng)站制作經(jīng)驗,選擇成都創(chuàng)新互聯(lián),為企業(yè)錦上添花。

讓你用其它語言寫也是完全一樣的道理,

這道題估計大家在學習C語言的時候就見過……

也就是打印以下的鬼東西:

JavaScript實現(xiàn)打印星型金字塔功能實例分析

當時候看到循環(huán)結(jié)構(gòu)的時候覺得很無聊,就相當不屑這題,沒有好好仔細想想,

因為要是放在JavaScript完全可以這樣寫,甚至還不算是JavaScript,僅僅就是一個html:

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=gb2312"/>
</head>
<body>
&nbsp;&nbsp;*
&nbsp;***
*****
&nbsp;***
&nbsp;&nbsp;*
</body>
</html>

這里之所以不用utf-8編碼是因為utf-8對于nbsp的處理與*的字體會導(dǎo)致排版錯亂,就是不是用標準的宋體字,從而導(dǎo)致最終的結(jié)果無法查看。

反正你出題人出多少行,我都可以復(fù)制粘貼上面的內(nèi)容完全可以實現(xiàn),但是,今天編程編到一定量,有點大數(shù)據(jù)概念的時候,又見到這題,仔細思考了一下,要是出題人要求輸出二十萬行這樣中間軸對稱的星型金字塔,我TMD就呵呵了。

所以還是要徹底搞明白這個怎么實現(xiàn),雖然在實際的編程中不會出現(xiàn)這樣的編程,但是,據(jù)說一些無聊的面試還是會出這題,至少,后來者問你C語言的時候,問你如果輸出二十萬行這樣的中間軸對稱的星型金字塔,你還是要會,這題如果第一次做不好做的。

一、基本目標

首先彈出一個輸入框,讓用戶輸入一個奇數(shù),畢竟軸對稱需要一個奇數(shù),
然后為了程序的健壯性,必須對用戶輸入的東西進行判斷,如果輸入的不是奇數(shù),就彈出提示,不再執(zhí)行后面的程序,怎么JavaScript判斷一個奇數(shù),我已經(jīng)在《JavaScript對數(shù)字的判斷與處理》說過,這里不再進行贅述。

考慮到瀏覽器的負載,這里,用戶輸入的奇數(shù),我只允許去到189,你調(diào)大一點也可以,189由于在我的電腦里面感覺還可以,所以才定這個數(shù)的,沒有什么特別的意義,亂輸入的,不是故意測試的。

JavaScript實現(xiàn)打印星型金字塔功能實例分析

輸入一個189行,IE已經(jīng)彈出“中止腳本”的提示了,但不中止也完全沒有問題!

運行結(jié)果如下:

JavaScript實現(xiàn)打印星型金字塔功能實例分析

如果是在寫C語言程序或者其他程序,這個值絕對可以定大一點!

二、基本思想

這個弄懂就非常好寫了。

JavaScript實現(xiàn)打印星型金字塔功能實例分析

首先,我們僅僅是要在*的左邊輸出空格,右邊就沒有必要輸出空格了,輸完*就直接換行

分兩部分,一部分是上半部分i<=n/2的時候,另一部分是下半部分i>n/2的時候,

之所以要這樣分是因為這兩部分輸出的*號與輸出的空格數(shù)是不同的。

之后就是初中都會的找規(guī)律問題了,反正我就找到了如上的規(guī)律,編程運行時沒有問題,其它數(shù)學帝找到更牛B的表達式,小弟甘拜下風。

三、制作過程

代碼非常簡單,就是條件結(jié)構(gòu)與循環(huán)結(jié)構(gòu)的表達,上面的思想弄懂了,不用說了。

這里可能會有人覺得奇怪,為何我要先n++然后n%2!=0再來判斷,也就是判斷n+1是偶數(shù)來判斷n是否奇數(shù),

這里主要是為了迎合下面的for循環(huán)結(jié)構(gòu)……

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=gb2312"/>
</head>
<body>
</body>
</html>
<script>
var i,j,k,n;
n=window.prompt("請輸入要輸出的行數(shù)n,為了形成軸對稱,所以你輸出的必須是奇數(shù)!");
if(isNaN(n)||!n)
  alert("你輸入的不是數(shù)!");
else{
  n++;
  if(n%2!=0)
    alert("你輸入的不是奇數(shù)!");
  else if(n>190){
    alert("不要這么大嘛!臣妾做不到啊!");
  }
  else{
    for(i=1;i<n;i++){
      if(i<=n/2){
        for(k=n/2-i;k>0;k--)
          document.write("&nbsp;");
        for(j=0;j<2*i-1;j++)
          document.write("*");
          }
      else{
        for(k=i-n/2;k>0;k--)
          document.write("&nbsp;");
        for(j=0;j<2*(n-i)-1;j++)
          document.write("*");
        }
      document.write("<br>");
    }
  }
}
</script>

說多了也是淚,自己體會……

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)學運算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯誤與調(diào)試技巧總結(jié)》

希望本文所述對大家JavaScript程序設(shè)計有所幫助。

網(wǎng)頁名稱:JavaScript實現(xiàn)打印星型金字塔功能實例分析
標題路徑:http://jinyejixie.com/article44/jojhee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、電子商務(wù)、Google、定制網(wǎng)站網(wǎng)站收錄、面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
沂水县| 饶平县| 安陆市| 万源市| 奉化市| 余干县| 中阳县| 泊头市| 眉山市| 尤溪县| 张家口市| 从化市| 凌海市| 怀仁县| 札达县| 同德县| 通城县| 文昌市| 西乌珠穆沁旗| 旺苍县| 浑源县| 沙洋县| 大足县| 故城县| 商河县| 吉安市| 黔江区| 镇雄县| 保亭| 车险| 镇赉县| 阜康市| 定日县| 习水县| 云梦县| 会同县| 密山市| 临海市| 阜新市| 巴塘县| 进贤县|