當前位置:首頁 » 編程語言 » c語言計算出警率
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言計算出警率

發布時間: 2022-10-08 05:11:20

① 【c語言】關於概率計算的方法

我想是因為for (i=1;b>=1;i++)這一句無效。

前面b=0,循環條件是b>=1,所以不循環的。

另外b=b+0.1*pow(0.9,i-1);這句的0.1後面應該加上f,否則類型不對。

這個是改動過的代碼

#include <stdio.h>

#include <math.h>

int main()

{

int i;

long double b;

b=0;

for (i=1;b<=1;i++)

{

b=b+0.1f*pow(0.9,i-1);

}

printf("%d ", i);

return 0;

}

時間有些晚了,答題有點倉促,不知道能不能行,如果出現問題,希望海涵。

② C語言一個簡單的問題:輸入一段文本,計算其中每個單詞的出現頻率:下面是代碼

網站的域名綁定到,例如可以綁定到一級域名的博客,或網頁,這樣重新提交網路就可以收錄了.

3,將網站的域名作跳轉,跳轉到網路,新浪,163,sohu等門戶網站,重新提交後就可以了,

4,注冊網路的聯盟,加入網路的代碼,在重新提交.

急不來的

通常的步驟是:
- 提交到網路,正常情況是1個月後將你的網站添加到搜索引擎的index
- 整理你的頁面,讓你的頁面變得search engine friend,你可以到這個網站去看看有一些建議
- 到處去做你的網站的連接(提高搜索引擎訪問你的網站的速度)

如何讓網路收錄網路給站長的建站指南

如何使您的站點被網路有效收錄
給每個網頁加上與正文相關的標題。如果是網站首頁,則標題建議使用站點名稱或者站點代表的公司/機構名稱;其餘內容頁面,標題建議做成正文內容的提煉和概括。這可以讓您的潛在用戶快速的訪問到您的頁面。
請不要在標題中堆積與正文無關的關鍵詞。
確保每個頁面都可以通過一個文本鏈接到達。網路無法識別Flash中的鏈接,這些單元上的鏈接所指向的網頁,網路就無法收錄了。
頁面間的鏈接,盡量使用平實的超鏈,而不是重定向跳轉。使用自動跳轉的頁面,可能會被網路丟棄。
盡量少使用frame和iframe框架結構。
如果是動態網頁,請控制一下參數的數量和URL的長度。網路更偏好收錄靜態網頁。
在同一個頁面上,不要有過多鏈接。在那些站點地圖類型的頁面上,請把重要的內容給出鏈接,而不是所有細枝末節。鏈接太多,也可能會導致無法被網路收錄。

什麼樣的站點會受到網路歡迎
站點應該是面向用戶的,而不是面向搜索引擎的。一個受到用戶歡迎的站點,最終也會受到搜索引擎歡迎;反過來,如果您的站點做了很多針對網路的優化,但卻給用戶帶來大量負面體驗,那麼,您的站點最終可能還是會受到網路的冷落。
網路更喜歡有獨特內容的網頁,而不是簡單抄襲和重復互聯網上已有內容的網頁。對於已經被重復了千百遍的內容,網路可能會不予收錄。

請謹慎使用您的站點鏈接。與一些垃圾站點做友情鏈接,很可能會使您的網站受到負面影響。因此,當有人很熱情的要求您為他的站點提供友情鏈接時,請審視以下兩點:

一,對方的站點在他那個領域是否是高質量的?站長間所謂的流量以及排名,很多都是用欺騙手段獲取的,無法保持長久。

二,對方要求的鏈接名稱是否和對方網站地位相稱?用一個涵蓋范圍廣泛的關鍵詞來做一個內容非常局限的網站的鏈接名稱,很可能會使您的網站受到負面影響。

經常保持內容更新。經常有新內容產生的站點,網路是會注意到,並且大力歡迎,而且會頻繁造訪。
網站登錄問題
我的網站更新了,可是網路收錄的內容還沒更新怎麼辦?
答:網路會定期自動更新所有網頁(包括去掉死鏈接,更新域名變化,更新內容變化)。因此請耐心等一段時間,您的網站上的變化就會被網路察覺並修正。
怎樣使我的網站被網路收錄?
答:網路免費自動收錄您的站點。如果您希望網路盡快收錄,可以到網站登錄提交您的網址;只需提交網站首頁,內部頁面網路會自動抓取。
從提交到被收錄,大約需要多久?
答:通常需要1-4周時間。
我不想讓網路收錄我的站點,該怎麼辦?
答:網路尊重和遵守robots協議,您可以寫一個robots文件限制您的網站全部或部分不被網路收錄。詳情參見禁止搜索引擎收錄的辦法。
我的站點為什麼在網路中搜不到?
答:可能的原因如下:
您可能還沒向網路提交您的網站;
您已經登錄了網站,但由於時間短,網路還未收錄;
如果網路檢測到您的網站無法訪問,您的站點就有可能被網路暫時刪除;
如果您的網站內容有不符合中國法律的地方,則無法被網路收錄;
如果您的站點頁面結構復雜,則可能無法被網路收錄(詳見如何使您的站點被網路有效收錄);
如果您的網站被網路判別為垃圾站點,則可能被網路拒絕收錄或者隨時刪除(詳見網路關於垃圾網站的處理)。
如果您的網站的首頁在網路搜索不到,則可能是由於您的網站不穩定使首頁被判別為死鏈接導致丟失。您的網站穩定後,首頁會重新在網路中被搜索到。 網路並不允諾能收錄所有站點。如果有上述回答無法說明的問題,也可以發信到[email protected]詢問。
我的站點在網路搜索結果中排名下降了,該怎麼辦?
答:排序變動很正常。一般情況下,只要您不斷提高網站內容質量,讓更多的用戶喜歡您的網站,成為您的忠實用戶,您的網站在網路的排名一般就不會很差。
網路關於垃圾網站的處理
如果您的站點中的網頁,做了很多針對搜索引擎而非用戶的處理,使得:用戶從搜索結果中看到的內容與頁面實際內容完全不同,或者站點質量與站點在搜索結果中的排名極不相稱,從而導致用戶產生受欺騙感覺,那麼,您的網站就有可能被網路丟棄。

如果您的站點上的網頁,大量都是復制自互聯網上的高度重復性的內容,那麼,您的站點也有可能被網路丟棄。
所以,當您的網站從網路消失,請先審視一下自己的站點有無問題。有任何意見,也可以反饋到[email protected]。您也可以向網路投訴搜索中遇到的垃圾網站或者網頁,幫助網路保持搜索結果的質量。
讓網路等搜索引擎收錄您的網站當您發現在以下搜索引擎里,無法搜索到您或者您客戶的網站時,您就打開以下登錄口,填好申請表提交,等這些網站的工作人員審核通過後,您的網站就可以在上面搜索到了。

怎樣才能讓網路及時更新網站的收錄數據?你有沒有發現搜索引擎已經很久沒有收錄你的網站了,有沒有方法能讓搜索引擎及時更新你的網站收錄數據,不知道那麼就跟我來吧!(此處以網路搜索引擎為例)
1.在網路搜索引擎輸入:site: (此處就是你網站的網址)得到網站收錄數據.
網路一下,找到相關網頁29600篇,用時0.001秒

2.在網路最底下找到
1 [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一頁 每10頁點下去,一直點到最後一頁,當出現
提示:為了提供最相關的結果,我們省略了一些內容相似的條目,點擊這里可以看到所有搜索結果。 再點擊提示上的連接. 3.最後再次輸入:site:,是不是發現比原來少了很多頁數了?不要害怕,已經達到讓網路更新收錄數據的目的了.一天以後就會發現重新收錄更多了!
注意:如果你的網站有新的內容,而又未被收錄的話,經驗證會有有明顯效果的。什麼?沒有新內容??那就增加你的網站內容吧…………
怎樣避免被搜索引擎視為作弊 >一個網站要想成功注冊,它起碼應具備兩個條件,一是網站本身要有較好的內容和設計,二是網站沒有作弊行為。這里所謂的「作弊」,是指採用一些特殊的、有悖常規的網頁設計手法,以期提高網站排名的行為。如何設計好網站,相關的資料很多,本文就不廢話了。這里主要談談後者,即在提高網站排名的同時,如何避免被搜索引擎視為作弊而拒絕注冊。 那麼,在搜索引擎看來,哪些行為算作弊呢?這里羅列了一下,從中你可看到,現在有些人還視為「密技」的東西,其實已經過時了。
>
> 堆砌頁面關鍵字:為了增加某個詞彙在網頁上的出現頻率,而故意重復它。這是有人常用的花招,不過,現在很多搜索引擎都能識破它。它們通過統計網頁單詞總數,判斷某個單詞出現的比例是否正常。一旦超過「內定標准」,就對你的網頁說「ByeBye」了。
>
> 放置隱形文本:所謂的「鬼頁法」。為了增加關鍵字數量,網頁中放一段與背景顏色相同的、包含密集關鍵字的文本,訪客看不到,可搜索引擎卻能找到,過去一度還真能提高網站排名,但現在,主要搜索引擎都能識別出來,照樣玩不通了。
>
> 安插微型文本:與「鬼頁法」相似,只是文本更些�更分散、更隱蔽。但是,對於敏感的搜索引擎來說,仍然是枉費心機。
>
> 網頁重定向:使用META刷新標記、CGI程序、Java、Javascript或其它技術,當用戶點擊一個鏈接時,自動跳到另一個網頁。有人正是用這種方法,欺騙人們進入並不想去的地方。因此,有些搜索引擎(如Infoseek),對此類網頁也很反感,一般不予登記。
>
> 濫用Meta標記關鍵字:有人為增加關鍵字的出現次數,在語句中,重復關鍵字,或者加入與網站內容毫不相關的熱門詞彙。這種作弊行為,大部分搜索引擎也能識破。
>
> 濫用門戶網頁:門戶網頁(也稱「橋頁」),是指為了獲得好的排名,而專門針對各搜索引擎排序演算法設計的網頁。盡管今天,多數搜索引擎並不反對這種作法。但俗話說:「物極必反。」建立太多具有相近關鍵字的門戶網頁,會招致搜索引擎的反感而無法成功注冊。
>
> 連續注冊:有人為加大保險系數,在一天之內,將一個網頁重復提交給同一個搜索引擎,其實,這種作法適得其反。
>
> 重復注冊:有人以為,將一個網頁簡單復製成多個網頁,然後,給它們安上不同的名字,並分別予以注冊,會增大訪問量,結果,搜索引擎會認為你在濫用它,而拒絕登記你的網站。
>
> 偷換網頁:是指一個網頁成功注冊並獲得較好排名後,用另一個內容無關的網頁(如產品廣告)來替換它的行為。
>
> 張冠李戴:上面提到的門戶網頁,只適用於Altavista這類自動登錄的搜索引擎,如果提交給Yahoo這類人工分類的目錄式搜索引擎,它就會認為你在作弊。
>
>

突破頁數限制:一些搜索引擎允許每個用戶每天或每周提交的網頁數量是有限制的。例如,Altavista每天允許10頁;HotBot允許每天50頁;Excite允許每周25頁;Infoseek允許每天50頁(但使用e-mail注冊,沒有頁數限制)。請注意,這並不是說,搜索引擎每天或每周只能為你登錄以上頁數,而只是允許你提交的頁數。還不明白?那就舉個例吧,對於Excite而言,每周只允許你提交25頁,如果你的網站有1000頁,那該怎麼辦呢?就提交25頁即可!餘下的Excite會自己檢查到,並將編入索引中。如果你強行突破這個限制,那麼,搜索引擎就會認為你在作弊,反而不予注冊。
>
> 上面這些條款似乎很明顯、很容易區分,但有時我們卻可能不知不覺犯上。例如,你有一個網頁,背景是白色,在這個網頁上,你設計了一個表格,其背景為藍色、文字為白色,這種設計應該說也是完全正常的,但如果你到搜索引擎Infoseek去注冊,它卻不理你。為什麼呢?它認為你在作弊!在Infoseek看來,表格中的白色文本,實際是置於白色的網頁背景上,也就是說,網頁文本與背景顏色相同,這就符合「鬼頁法」的作弊特徵。而這一點,可能你自己根本沒有意識到。還有一例,有時因設計需要,或者網站已遷移到其它地方,通常我們會用到網頁重定向,但對於Infoseek等搜索引擎而言,這也是不可容忍的作弊行為。另外,Infoseek等搜索引擎還要求,不要在多個網頁上布置指向同一個網頁的鏈接。例如,很多人喜歡在各個網頁放上「返回主頁」的鏈接,其實就屬於這種情況。這種司空見慣的設計,居然也被看成作弊,真是太苛刻了。不過,對此Infoseek在真正執行時,似乎也並不是很嚴格,一些這樣設計的網頁,它照樣登錄了(你也碰碰運氣?)。總體上說,這些限制都是為了對付真正的作弊者,使搜索引擎的檢索結果更加准確有效,但事實上,的確也錯怪了一些好人。如果萬一你碰上這種情況怎麼辦,搜索引擎到底會怎樣處罰你呢?
>
> 跟不少網主一樣,筆者以前對此不甚了解,以為自己的某個網頁違項,會導致整個網站被封殺。其實,事實並非如此!因為運作搜索引擎的人也知道,有時他們搜索引擎判定的「作弊」,實際是一種正常合法的設計,只是因為搜索引擎自身還不夠「聰明」,無法准確判斷是故意作弊,還是偶然巧合。所以,他們通常不會因為某網頁象在作弊,就拒絕登記整個網站,而只是對有違規嫌疑的網頁進行處罰——降低排名或不予登記,而其它的合法網頁不會受到影響。此時,你只需將這個網頁修改,並重新注冊即可。除非你有意作弊,肆無忌憚違反上述多項規則,或者由於你提交的大量垃圾網頁,對搜索結果造成明顯不良影響,那麼,你的整個網站將被永遠踢出門外。當然,也有個別搜索引擎(如HotBot)政策更加寬松,甚至對故意作弊者,也沒有永遠拒絕登記的規定。只要它認為你沒有攻擊或侵害到它,一般不會刪掉你整個網站的索引,不過,這個尺度掌握在人家手裡,勸你還是別去試它的耐性。
>
> 作為一名網主,明白了哪些行為是作弊,你就應該在允許范圍內,去探索如何獲得較高排名,以增大網站訪問量,讓盡可能多的人知道你的產品、服務或了解你本人,只有這樣,成功注冊才有實際意義。
>
> 使網路有效收錄
>
> 網路喜歡結構簡單的網頁,具有復雜結構的網頁可能無法順利登錄網路。您在進行網頁設計時應盡量:
>
> 1. 給每個網頁加上標題
>
> 網站首頁的標題,建議您使用您的網站名稱或公司名稱,其它網頁的標題建議與每個網頁內容相關,內容不同的網頁不用相同的標題。
>
> 2. 不要把整個網頁做成一個Flash或是一張圖片
>
> 網路是通過識別網頁源代碼中的漢字來認識每一個網頁的。如果您的整個網頁是一個Flash或一張圖片,網路在網頁中找不到漢字,就有可能不收錄您的網頁。
>
> 3. 不對網頁做重定向
>
> 重定向的網頁可能不容易登錄網路。
>
> 4.不在網頁中使用Frame(框架結構)
>
> 5.不在網頁中使用過分復雜的JavaScript
>
> 某些Java Script的內容對於搜索引擎是不可見的,所以不能被識別和登錄。
>
> 5.靜態網頁能更順利登錄網路,動態生成的網頁不容易登錄網路
>
> ·如果您的網頁url中含有如asp、?等動態特徵,網頁就可能被認為是動態網頁。
>
> ·如果您的網站中有很多網頁必須做成Frame結構或動態網頁,那麼建議您至少把網站首頁做成簡單的網頁,並且對網站內的一些重要網頁,在首頁加上鏈接。
>
> 6. 不要對搜索引擎進行作弊
>
> 作弊的網站不能登錄網路,即使登錄後也隨時可能被刪除。
>
> 作弊網站定義
>
> 對搜索引擎作弊,是指為了提高在搜索引擎中展現機會和排名的目的,欺騙搜索引擎的行為。
>
> 以下行為都可能被認為是作弊:
>
> · 在網頁源代碼中任何位置,故意加入與網頁內容不相關的關鍵詞;
>
> · 在網頁源代碼中任何位置,故意大量重復某些關鍵詞。即使與網頁內容相關的關鍵詞,故意重復也被視為作弊行為;
>
> · 在網頁中加入搜索引擎可識別但用戶看不見的隱藏文字。無論是使用同背景色文字、超小字型大小文字、文字隱藏層、還是濫用圖片ALT等方法,都屬於作弊行為;
>
> · 故意製造大量鏈接指向某一網址的行為;
>
> · 對同一個網址,讓搜索引擎與用戶訪問到不同內容的網頁(包括利用重定向等行為);
>
> · 作弊行為的定義是針對網站而不是網頁的。一個網站內即使只有一個網頁作弊,該網站也被認為是有作弊行為;
>
> · 有鏈接指向作弊網站的網站,負連帶責任,也會被認為是作弊(但是,作弊網站上鏈接指向的網站,不算作弊)。
>
> 作弊網站害處
>
> 根據網頁的作弊情況,會受到不同程度的懲罰:
>
> · 較輕微的懲罰,是系統在給網頁排名時略為降低該網頁的排名;
>
> · 較常見的懲罰,是作弊網站的某些關鍵詞(或所有關鍵詞)的排名降到其它任何網站之後;
>
> · 較嚴厲的懲罰,對於作弊行為和後果特別惡劣的網站,將從網路中消失;
>
> · 特別補充,含惡意代碼或惡意插件等用戶極端反感內容的網頁,雖然不是作弊,但只要用戶投訴,一經確認也會被網路拒絕收錄;
> = = = = = = = = = = = = = = = = = = = =

禮!
simon
[email protected]
2006-06-07
Google官方確認AdSense有助於網頁收錄
>Google官方確認AdSense有助於網頁收錄
>
>Google的網頁收錄的其中一種途徑是通過Googlebot的爬行來實現的,也就是說,Google派出它自己的網路蜘蛛,主動去抓取有價值的網頁內容。類似地,Google的AdSense也有自己的bot,它的名字為MediaBot。它會自動去到放置了AdSense廣告代碼的網頁,然後對網頁內容進行分析,以投放與網頁內容相關的廣告。但一直以來都有一個爭論,那就是到底AdSense的MediaBot與Googlebot有什麼區別?MediaBot在判斷廣告相關網頁的時候,會不會也對這個網站在Google收錄及排名等方面有一定的好處呢?也就是說,投放了AdSense廣告,會不會有助於改善自己的網站的Google收錄及排名呢?
>
> 根據SEJ的消息,Google的一名高級工程師及主管Matt Cutts已經正式確認,AdSense派出來的MediaBot在抓取網頁內容後,會把部分結果提交至BigDaddy的資料庫里。Matt解釋說,這是因為兩種bot都在不斷地抓取網頁,因此為了節省資源,MediaBot會幫Googlebot完成部分網頁抓取工作。但Matt同時也給出警告,如果你的網站提供給MediaBot的內容與提供給Googlebot的內容完全不同,那麼你就會「有麻煩」。因為Google會認為你在作弊。
>
> 我認為從Matt給出的訊息里可以證明,在網站上投放了AdSense的廣告,的確是有助於你的網站被Google收錄。比如,收錄得更快更多。但並不一定會提高你的網站排名。有這方面經驗的朋友應該會想到其它辦法,從Matt的話出發。
>來自幻滅的麥克風
搜索引擎原理-網路蜘蛛和ROBOTS
>搜索引擎原理-網路蜘蛛和ROBOTS
>
>一、網路蜘蛛基本原理
>
> 網路蜘蛛即Web Spider,是一個很形象的名字。把互聯網比喻成一個蜘蛛網,那麼Spider就是在網上爬來爬去的蜘蛛。網路蜘蛛是通過網頁的鏈接地址來尋找網頁,從網站某一個頁面(通常是首頁)開始,讀取網頁的內容,找到在網頁中的其它鏈接地址,然後通過這些鏈接地址尋找下一個網頁,這樣一直循環下去,直到把這個網站所有的網頁都抓取完為止。如果把整個互聯網當成一個網站,那麼網路蜘蛛就可以用這個原理把互聯網上所有的網頁都抓取下來。
>
> 對於搜索引擎來說,要抓取互聯網上所有的網頁幾乎是不可能的,從目前公布的數據來看,容量最大的搜索引擎也不過是抓取了整個網頁數量的百分之四十左右。這其中的原因一方面是抓取技術的瓶頸,無法遍歷所有的網頁,有許多網頁無法從其它網頁的鏈接中找到;另一個原因是存儲技術和處理技術的問題,如果按照每個頁面的平均大小為20K計算(包含圖片),100億網頁的容量是100×2000G位元組,即使能夠存儲,下載也存在問題(按照一台機器每秒下載20K計算,需要 340台機器不停的下載一年時間,才能把所有網頁下載完畢)。同時,由於數據量太大,在提供搜索時也會有效率方面的影響。因此,許多搜索引擎的網路蜘蛛只是抓取那些重要的網頁,而在抓取的時候評價重要性主要的依據是某個網頁的鏈接深度。
>
> 在抓取網頁的時候,網路蜘蛛一般有兩種策略:廣度優先和深度優先。
>
廣度優先是指網路蜘蛛會先抓取起始網頁中鏈接的所有網頁,然後再選擇其中的一個鏈接網頁,繼續抓取在此網頁中鏈接的所有網頁。這是最常用的方式,因為這個方法可以讓網路蜘蛛並行處理,提高其抓取速度。深度優先是指網路蜘蛛會從起始頁開始,一個鏈接一個鏈接跟蹤下去,處理完這條線路之後再轉入下一個起始頁,繼續跟蹤鏈接。這個方法有個優點是網路蜘蛛在設計的時候比較容易。兩種策略的區別,下圖的說明會更加明確。
>
> 由於不可能抓取所有的網頁,有些網路蜘蛛對一些不太重要的網站,設置了訪問的層數。例如,在上圖中,A為起始網頁,屬於0層,B、C、D、E、F屬於第1層,G、H屬於第2層, I屬於第3層。如果網路蜘蛛設置的訪問層數為2的話,網頁I是不會被訪問到的。這也讓有些網站上一部分網頁能夠在搜索引擎上搜索到,另外一部分不能被搜索到。對於網站設計者來說,扁平化的網站結構設計有助於搜索引擎抓取其更多的網頁。
>
> 網路蜘蛛在訪問網站網頁的時候,經常會遇到加密數據和網頁許可權的問題,有些網頁是需要會員許可權才能訪問。當然,網站的所有者可以通過協議讓網路蜘蛛不去抓取(下小節會介紹),但對於一些出售報告的網站,他們希望搜索引擎能搜索到他們的報告,但又不能完全**的讓搜索者查看,這樣就需要給網路蜘蛛提供相應的用戶名和密碼。網路蜘蛛可以通過所給的許可權對這些網頁進行網頁抓取,從而提供搜索。而當搜索者點擊查看該網頁的時候,同樣需要搜索者提供相應的許可權驗證。
>
> 網站與網路蜘蛛
>
> 網路蜘蛛需要抓取網頁,不同於一般的訪問,如果控制不好,則會引起網站伺服器負擔過重。今年4月,淘寶就因為雅虎搜索引擎的網路蜘蛛抓取其數據引起淘寶網伺服器的不穩定。網站是否就無法和網路蜘蛛交流呢?其實不然,有多種方法可以讓網站和網路蜘蛛進行交流。一方面讓網站管理員了解網路蜘蛛都來自哪兒,做了些什麼,另一方面也告訴網路蜘蛛哪些網頁不應該抓取,哪些網頁應該更新。
>
> 每個網路蜘蛛都有自己的名字,在抓取網頁的時候,都會向網站標明自己的身份。網路蜘蛛在抓取網頁的時候會發送一個請求,這個請求中就有一個欄位為User- agent,用於標識此網路蜘蛛的身份。例如Google網路蜘蛛的標識為GoogleBot,Bai網路蜘蛛的標識為BaiDuSpider, Yahoo網路蜘蛛的標識為Inktomi Slurp。如果在網站上有訪問日誌記錄,網站管理員就能知道,哪些搜索引擎的網路蜘蛛過來過,什麼時候過來的,以及讀了多少數據等等。如果網站管理員發現某個蜘蛛有問題,就通過其標識來和其所有者聯系。下面是博客中)2004年5月15日的搜索引擎訪問日誌:
>
> 網路蜘蛛進入一個網站,一般會訪問一個特殊的文本文件Robots.txt,這個文件一般放在網站伺服器的根目錄下。網站管理員可以通過robots.txt來定義哪些目錄網路蜘蛛不能訪問,或者哪些目錄對於某些特定的網路蜘蛛不能訪問。例如有些網站的可執行文件目錄和臨時文件目錄不希望被搜索引擎搜索到,那麼網站管理員就可以把這些目錄定義為拒絕訪問目錄。Robots.txt語法很簡單,例如如果對目錄沒有任何限制,可以用以下兩行來描述:
>
> User-agent: *
> Disallow:
>
> 當然,Robots.txt只是一個協議,如果網路蜘蛛的設計者不遵循這個協議,網站管理員也無法阻止網路蜘蛛對於某些頁面的訪問,但一般的網路蜘蛛都會遵循這些協議,而且網站管理員還可以通過其它方式來拒絕網路蜘蛛對某些網頁的抓取。
>
> 網路蜘蛛在下載網頁的時候,會去識別網頁的HTML代碼,在其代碼的部分,會有META標識。通過這些標識,可以告訴網路蜘蛛本網頁是否需要被抓取,還可以告訴網路蜘蛛本網頁中的鏈接是否需要被繼續跟蹤。例如:表示本網頁不需要被抓取,但是網頁內的鏈接需要被跟蹤。
>
> 關於Robots.txt的語法和META Tag語法,有興趣的讀者查看文獻[4]
>
> 現在一般的網站都希望搜索引擎能更全面的抓取自己網站的網頁,因為這樣可以讓更多的訪問者能通過搜索引擎找到此網站。為了讓本網站的網頁更全面被抓取到,網站管理員可以建立一個網站地圖,即Site Map。許多網路蜘蛛會把sitemap.htm文件作為一個網站網頁爬取的入口,網站管理員可以把網站內部所有網頁的鏈接放在這個文件裡面,那麼網路蜘蛛可以很方便的把整個網站抓取下來,避免遺漏某些網頁,也會減小對網站伺服器的負擔。
>
> 內容提取
>
> 搜索引擎建立網頁索引,處理的對象是文本文件。對於網路蜘蛛來說,抓取下來網頁包括各種格式,包括html、圖片、doc、pdf、多媒體、動態網頁及其它格式等。這些文件抓取下來後,需要把這些文件中的文本信息提取出來。准確提取這些文檔的信息,一方面對搜索引擎的搜索准確性有重要作用,另一方面對於網路蜘蛛正確跟蹤其它鏈接有一定影響。
>
> 對於doc、pdf等文檔,這種由專業廠商提供的軟體生成的文檔,廠商都會提供相應的文本提取介面。網路蜘蛛只需要調用這些插件的介面,就可以輕松的提取文檔中的文本信息和文件其它相關的信息。

③ 如何用C語言控制報警器報警的頻率,求解,希望詳細一點!

如果需要報警器鳴叫和停止鳴叫兩個狀態都按照精確時間來控制的話需要用到中斷,如果不需要的話直接用計數及可以搞定
具體實現方法是把兩種狀態的時間先計算好,然後開中斷並計數,可以在中斷中進行報警器使能的查詢,如果發現鳴叫開始的話即使能開始,就進行計數減一,當計數值為零的時候就將報警器的使能關斷這樣就可以控制報警器的開通時間
另一種是直接在程序中進行計數根據晶元的主頻和代碼的周期時間值進行開通和關斷的控制,也是通過查詢狀態的方式進行計數值的加減,最後進行狀態轉換就好了

④ 用c語言計算出勤率,要求精確到小數點後四位

#include<stdio.h>

intmain(){
intzongqueqinrenshu=13;
intbanjirenshu=17;
doublechuqinlv=1-zongqueqinrenshu*1./(banjirenshu*5);
printf("出勤率是%.*lf",4,chuqinlv);
return0;
}

⑤ C語言中怎麼求百分比

按照百分比的定義,要求a佔b的百分比時,只需要a/b*100即可。

需要注意的是,百分比的結果為實數,需要用浮點數類型(float或double)來儲存,當操作數a,b均為整型時,需要先轉為浮點型再進行操作,否則會出錯。

以輸入兩個整型數a,b,求a佔b的百分比並輸出為例,給出參考代碼如下:

inta,b;
floatr;
scanf("%d%d",&a,&b);//輸入a和b。
r=(float)a/b*100;//轉為浮點數並計算百分比。
printf("a佔b的百分比為%.2f%% ",r);//輸出結果,保留兩位小數。需要注意的是,要輸出%需要寫成%%的形式。

⑥ 求問,怎麼用C語言增大某一數據的出現概率

設置一個變數,臨時暴擊率 float Violent_tmp
出現滿足條件時,臨時暴擊幾率增加
計算是否暴擊時,用屬性暴擊幾率+臨時暴擊幾率,

⑦ c語言算概率求一個數,

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#define randomize() srand((unsigned)time(NULL))/*隨機數定義*/
int main()
{
int a=1,p;
printf("輸入#結束,輸入其他繼續。\n");
do
{
printf("%d\n",a);
if(getchar()=='#')
{
return 0;
}
p=(int)((rand()/(RAND_MAX+1.0))*100);/*總大小為100,80以下為%80,80以上為%20*/
if(p<=80)
{
a++;
}
else
{
a--;
}
}while(1);
}

⑧ 用c語言計算出勤率 出勤率=1-(總缺勤人數/(總人數*5))

因為你用的是%d,v2肯定是小於v1的,於是v2/(v1*5)一直都是0。你換成%f或者%lf計算

⑨ 用c語言統計4科成績及格率

從我的學生信息管理系統完整程序中摘錄出題主需要的部分吧~

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>

#definestatusint

#defineNAME30/*各類名稱字數上限*/
#defineSTU100/*學生人數上限*/
#defineSUB10/*課程數上限*/

typedefstructrecord{
floatscore;/*成績分數*/
}record;

typedefstructstudent{
intid;/*id*/
intno;/*學號*/
charname[NAME];/*姓名*/
recordscores[SUB];/*各門課成績分數*/
}student;

charsubject[SUB][NAME];/*課程名稱*/

intmain(void){
intstuNum;/*學生人數*/
intsubNum;/*課程數*/
studentstu[STU+1];/*學生結構體數組,最後留一位buffer*/

initProgram(stu,&stuNum,&subNum,0);/*初始化*/
runMeun(stu,&stuNum,subNum);/*運行菜單*/

return0;
}

/*初始化*/
/*mode==0:測試模式,灌入測試數據*/
/*mode==1:程序寫定課程數、課程名稱*/
statusinitProgram(studentstu[],int*stuNum,int*subNum,intmode){
/*測試模式*/
if(mode==0)
inputTestStuInfo(stu,stuNum,subNum);

/*程序寫定課程數、課程名稱*/
elseif(mode==1){
*stuNum=0;
*subNum=2;
memcpy(subject[0],"語文",4);
memcpy(subject[1],"數學",4);
}

return1;
}

/*測試數據*/
statusinputTestStuInfo(studentstu[],int*stuNum,int*subNum){
statustestStatus;
inti;

*subNum=4;
memcpy(subject[0],"語文",4);
memcpy(subject[1],"數學",4);
memcpy(subject[2],"英語",4);
memcpy(subject[3],"理綜",4);

*stuNum=5;
stu[0].id=1;
stu[0].no=1001;
strcpy(stu[0].name,"Zhao");
stu[0].scores[0].score=65.5;
stu[0].scores[1].score=77;
stu[0].scores[2].score=61;
stu[0].scores[3].score=52;

stu[1].id=2;
stu[1].no=1002;
strcpy(stu[1].name,"Qian");
stu[1].scores[0].score=88;
stu[1].scores[1].score=76;
stu[1].scores[2].score=46;
stu[1].scores[3].score=52;

stu[2].id=3;
stu[2].no=1003;
strcpy(stu[2].name,"Sun");
stu[2].scores[0].score=72;
stu[2].scores[1].score=69;
stu[2].scores[2].score=90;
stu[2].scores[3].score=81;

stu[3].id=4;
stu[3].no=1004;
strcpy(stu[3].name,"Li");
stu[3].scores[0].score=98.5;
stu[3].scores[1].score=80;
stu[3].scores[2].score=76;
stu[3].scores[3].score=40;

stu[4].id=5;
stu[4].no=1005;
strcpy(stu[4].name,"Zhou");
stu[4].scores[0].score=56.5;
stu[4].scores[1].score=60.5;
stu[4].scores[2].score=54.5;
stu[4].scores[3].score=52;

return1;
}

/*學生信息判空*/
/*為空返回1;不空返回0*/
intstuInfoEmpty(studentstu[],intstuNum){
inti,stat=0;

if(stuNum==0)
return1;

for(i=0;i<stuNum;i++)
stat+=stu[i].id;
if(!stat)
return1;

return0;
}

/*學生為空時的處理*/
statusstuInfoEmptyOp(studentstu[],intstuNum){
puts("尚未錄入學生信息!即將返回主菜單。");
pressAnykeyToContinue();
return1;
}

/*學號判重*/
/*重復返回1;不重復返回0*/
intnoRepeated(studentstu[],intstuNum,intno){
inti;
for(i=0;i<stuNum;i++)
if(no==stu[i].no)
return1;
return0;
}

/*輸出錄入學生信息之表頭*/
statusprintInputStuInfoheader(intsubNum){
inti;
puts("--------------------------------------------------------------------------");
printf(" 學號 姓名 ");
for(i=0;i<subNum;i++)
printf("%s ",subject[i]);
putchar(' ');
puts("--------------------------------------------------------------------------");
return1;
}

/*錄入單個學生信息*/
/*參數說明:*/
/*intismod:是否修改信息。是:1;否:0*/
/*返回值說明*/
/*0:本次未錄入;-1:學號重復;-2成績錯誤;1:錄入成功*/
statusinputStuInfo(studentstu[],int*stuNum,intsubNum,intstuIndex,intismod){
inti,temp;

fflush(stdin);/*清除緩沖區*/

scanf("%d",&temp);
if(temp==-1)/*錄入-1以結束*/
return0;/*本次未錄入*/

/*非修改,即新增學生信息*/
if(ismod==0){
if(noRepeated(stu,*stuNum,temp)==1)/*學號重復*/
return-1;
}
/*修改學生信息*/
if(ismod==1){
if(temp!=stu[stuIndex].no&&noRepeated(stu,*stuNum,temp)==1)/*學號不等於原學號,且學號重復*/
return-1;
}

stu[stuIndex].id=(*stuNum)+1;/*分配id*/

stu[stuIndex].no=temp;/*學號*/

scanf("%s",&stu[stuIndex].name);/*姓名*/

for(i=0;i<subNum;i++){
scanf("%f",&stu[stuIndex].scores[i].score);
}/*各門課成績分數*/

for(i=0;i<subNum;i++)
if(stu[stuIndex].scores[i].score>100||stu[stuIndex].scores[i].score<0)
return-2;/*成績錯誤*/

if(ismod!=1)
*stuNum+=1;

return1;/*本次錄入成功*/
}

/*錄入全部學生信息*/
statusinputAllStuInfo(studentstu[],int*stuNum,intsubNum){
inti,inputStatus,count;

puts("==========================================================================");
puts("錄入學生信息");
puts("==========================================================================");
putchar(' ');

/*學生信息為空*/
if(stuInfoEmpty(stu,*stuNum)){
puts("請錄入學生信息(學號錄入-1以結束)↓↓");
putchar(' ');
}
/*已有學生信息*/
else{
printf("已有%d名學生信息! ",*stuNum);
putchar(' ');
puts("繼續錄入以新增(學號錄入-1以結束)↓↓");
putchar(' ');
}

printInputStuInfoheader(subNum);/*錄入信息之表頭*/

/*錄入信息*/
count=0;/*本次錄入學生計數*/
i=*stuNum;
while(1){
printf("第%d名學生 ",i+1);
inputStatus=inputStuInfo(stu,stuNum,subNum,i,0);
/*錄入成功*/
if(inputStatus==1){
i++;
count++;
}
/*錄入錯誤*/
elseif(inputStatus<0){
putchar(' ');
if(inputStatus==-1)
printf("學號重復!");
if(inputStatus==-2)
printf("成績錯誤!");
puts("請重新輸入↓");
continue;
}
/*本次未錄入*/
elseif(inputStatus==0)
break;
}
puts("--------------------------------------------------------------------------");
putchar(' ');

if(count!=0)
printf("本次%d名學生信息錄入完畢!即將返回主菜單。 ",count);
else
printf("您本次未輸入學生信息!即將返回主菜單。 ");
putchar(' ');

pressAnykeyToContinue();
return1;
}

/*輸出學生信息之表頭*/
statusprintStuInfoheader(intsubNum,intinclRanking){
inti;

puts("--------------------------------------------------------------------------");
printf("%-4s%2c","id",32);
printf("%-4s%2c","學號",32);
printf("%-10s%2c","姓名",32);
for(i=0;i<subNum;i++)
printf("%-6s%2c",subject[i],32);
putchar(' ');
puts("--------------------------------------------------------------------------");
}

/*輸出單個學生信息*/
statusprintStuInfo(studentstu[],intstuIndex,intsubNum,intinclRanking){
inti;

printf("%-4d%2c",stu[stuIndex].id,32);/*id*/
printf("%-4d%2c",stu[stuIndex].no,32);/*學號*/
printf("%-10s%2c",stu[stuIndex].name,32);/*姓名*/
for(i=0;i<subNum;i++)/*各門課成績分數*/
printf("%-6.2f%2c",stu[stuIndex].scores[i].score,32);

putchar(' ');

return1;
}

/*輸出全部學生信息*/
statusprintAllStuInfo(studentstu[],intstuNum,intsubNum,intinclRanking){
inti;

/*學生信息為空則提示並退出*/
if(stuInfoEmpty(stu,stuNum)){
stuInfoEmptyOp(stu,stuNum);
return0;
}

puts("==========================================================================");
puts("全部學生信息");
puts("==========================================================================");
putchar(' ');

printf("%d名學生信息如下↓↓ ",stuNum);
putchar(' ');

/*輸出信息之表頭*/
printStuInfoheader(subNum,inclRanking);

/*輸出信息*/
for(i=0;i<stuNum;i++)
printStuInfo(stu,i,subNum,inclRanking);
puts("--------------------------------------------------------------------------");
putchar(' ');

puts("學生信息輸出完畢!即將返回主菜單。");
putchar(' ');

pressAnykeyToContinue();
return1;
}

/*輸出統計數據*/
statusprintStatistics(studentstu[],intstuNum,intsubNum){
intsub1PassCount,sub2PassCount,sub3PassCount,sub4PassCount;/*各科及格人數*/
floatsub1PassRate,sub2PassRate,sub3PassRate,sub4PassRate;/*各科及格率*/
inti;

/*學生信息為空則提示並退出*/
if(stuInfoEmpty(stu,stuNum)){
stuInfoEmptyOp(stu,stuNum);
return0;
}

system("cls");
puts("==========================================================================");
puts("輸出統計數據");
puts("==========================================================================");
putchar(' ');

printf("全部%d名學生 ",stuNum);
putchar(' ');

sub1PassCount=sub2PassCount=sub3PassCount=sub4PassCount=0;

for(i=0;i<stuNum;i++){
if(stu[i].scores[0].score>=PASS&&stu[i].scores[0].score<=100)
sub1PassCount++;
if(stu[i].scores[1].score>=PASS&&stu[i].scores[1].score<=100)
sub2PassCount++;
if(stu[i].scores[2].score>=PASS&&stu[i].scores[2].score<=100)
sub3PassCount++;
if(stu[i].scores[3].score>=PASS&&stu[i].scores[3].score<=100)
sub4PassCount++;
}

sub1PassRate=(float)sub1PassCount/(float)stuNum;
sub2PassRate=(float)sub2PassCount/(float)stuNum;
sub3PassRate=(float)sub3PassCount/(float)stuNum;
sub4PassRate=(float)sub4PassCount/(float)stuNum;

puts("各門課及格率如下:");

puts("--------------------------------------------------------------------------");
printf("%-6s%2c%-8s%2c%-6s ",subject[0],32,"及格人數",32,"及格率");
puts("--------------------------------------------------------------------------");
printf("%-6s%2c%-8d%2c%-5.2f%c",subject[0],32,sub1PassCount,32,sub1PassRate*100,'%');
putchar(' ');

printf("%-6s%2c%-8d%2c%-5.2f%c",subject[1],32,sub2PassCount,32,sub2PassRate*100,'%');
putchar(' ');

printf("%-6s%2c%-8d%2c%-5.2f%c",subject[2],32,sub3PassCount,32,sub3PassRate*100,'%');
putchar(' ');

printf("%-6s%2c%-8d%2c%-5.2f%c",subject[3],32,sub4PassCount,32,sub4PassRate*100,'%');
putchar(' ');

pressAnykeyToContinue();
return1;
}

/*輸入命令編號*/
intgetCommand(void){
intkey;/*命令編號*/

printf("請輸入命令編號以開啟操作:");
scanf("%d",&key);

returnkey;
}

/*列印菜單文本*/
statusprintMenuText(void){
puts("==========================================================================");
puts("學生信息管理");
puts("--------------------------------------------------------------------------");
printf("%4c 功能詳情 ",'#');
puts("--------------------------------------------------------------------------");
printf("%4d 輸入學生信息 ",1);
printf("%4d 輸出所有學生信息 ",2);
printf("%4d 輸出統計數據 ",3);
printf("%4d 退出 ",0);
puts("==========================================================================");
putchar(' ');

return1;
}

/*運行菜單*/
statusrunMeun(studentstu[],int*stuNum,intsubNum){
intkey;
do{
system("cls");/*清屏*/
printMenuText();/*列印菜單文本*/
key=getCommand();/*輸入命令編號*/
putchar(' ');
system("cls");
switch(key){
case1:inputAllStuInfo(stu,stuNum,subNum);break;
case2:printAllStuInfo(stu,*stuNum,subNum,1);break;
case3:printStatistics(stu,*stuNum,subNum);break;
case0:
printMenuText();
puts("程序結束!");
pressAnykeyToContinue();
break;
default:
printMenuText();
puts("命令編號錯誤,請重新輸入!");
pressAnykeyToContinue();
break;
}
}while(key!=0);

return1;
}

/*按任意鍵繼續*/
statuspressAnykeyToContinue(void){
putchar(' ');
puts("按任意鍵繼續...");
fflush(stdin);
getch();
return1;
}

運行結果

⑩ c語言求概率

這是典型的古典概型,直接用窮舉法計算即可。
計算思路是遍歷1到10共10個數的所有組合(用goNext函數),統計出組合總數count與7個數之和等於20的組數successNumber,這兩個數的商successNumber/count就是所求的概率。
計算結果為:
總次數: 10000000, 成功次數: 26544, 概率: 0.0026544
程序可以如下實現:
#include <stdio.h>
int data[7];

int goNext()
{
int i;
for ( i = 0; i < 7 && ++data[i] > 10; ++i ) data[i] = 1;
if ( i == 7 ) return 0;
return 1;
}

void main()
{
int i, m;
double p;
long count = 0, successNumber = 0;
for ( i = 0; i < 7; ++i) data[i] = 1;
do
{
++count;
for ( i = 0, m = 0; i < 7; ++i ) m += data[i];
if ( 20 == m ) ++ successNumber;
} while ( goNext() );
p = (double) successNumber / (double) count;
printf("總次數: %d, 成功次數: %d, 概率: %.7lf\n", count, successNumber, p);
}