1. 應用程序源代碼是怎麼回事
是指使用各種編程語言編寫的未經過編譯和連接的原始的程序代碼。應用程序必須通過源程序經過編譯和連接後才能生成exe執行文件!
2. 怎麼將原代碼程序變成應用程序
你說的原代碼是哪種呢?不過所有的原代碼都要經過編譯器編譯生成EXE文件或其它可執行文件,或是用特殊的軟體或硬體才能識別,直接在WINDOWS系統下是運行不了的.
3. Java程序源代碼怎麼才能做成應用程序
安裝JAVA的編譯文件,然後設置運行環境,接著把源代碼文件後綴名設置為JAVA(還是javafile忘了),單擊開始,運行,輸入cmd,在DOS環境打開那個文件就行了.
4. 如何開發安卓應用,寫出的代碼又好又快
了解android:
android開發(這里不提platform和底層驅動)你需要對Java有個良好的基礎,一般我們用Eclipse作為開發工具。對於過多的具體知識詳細介紹我這里不展開,我只說我個人的學習方法和本人以為的好的步驟。
1.搭建環境:包括對Java和Eclipse及模擬器(有真機再好不過)的熟悉,對於android的tools和adb命令可以放到後面熟悉了解。
2.從helloworld開始:了解一個基本的android應用代碼包含哪些,各部分做什麼用。(這里只要先了解個大概就好,網上很多代碼可以下載下面看看)
3.activity、intent:了解activity是什麼及其生命周期,intent是什麼東西及它是基於消息機制。
4.掌握基礎:這階段你可以反復的修改及單步調試一個簡單的程序,並學會logcat、單步調試、最基本的View、最簡單的布局、進而對service、intentFilter等的熟悉。
如何通過Android賺錢
首先你對安卓有一個初步的了解後,可以寫出一個小東西自己玩玩了 ,那你可以考慮怎麼通過自己寫的程序賺錢了。通過賺錢的方式大概有也下幾種:
1.免費應用+廣告 這是目前國內個人開發者最普遍的賺錢方式,你可以利用嵌入國內和國外的幾十家移動廣告平台的sdk、並在各渠道發布你的應用來獲取展示廣告,從而利用用戶對廣告的點擊而獲取收入。需要注意的是,身為開發者你最好不要以欺騙、誘導、作弊等方式來獲得用戶點擊,別破壞市場環境(比如現在很多應用所有功能都要求用戶下載廣告應用獲取積分而得到使用,特別是一些色情搭邊的應用)。目前我就是選擇的這種。
2.收費應用國內移動MM、機鋒網的金幣、支付寶等各種渠道支付使用費,目前來看這種模式很難獲取可觀的收入。
3.學會保護自己的應用。Android開發的的大敵不是山寨,而是打包黨。打包黨借著你的應用去賺錢,賺著本屬於你的錢。所以,你覺得你還不應該採取點行動嗎?想要真正保護自己的應用,還是得藉助第三方專業平台,他們有專業的解決方案,可以給你的應用做到最好的最全的保護!
3.應用內容的商業合作這種模式需要你的應用有影響力,能讓商家替你買單。
4.如果自己技術好,有自己的想法,自己也可以寫寫小游戲,曾經火爆一時的Flappy Bird,是一款形式簡易但難度極高的休閑游戲。簡單但不粗糙的8比特像素畫面、超級馬里奧游戲中的水管、眼神有點呆滯的小鳥和幾朵白雲,白天夜晚兩種模式便構成了游戲的一切。玩家需要不斷控制點擊屏幕的頻率來調節小鳥的飛行高度和降落速度,讓小鳥順利通過畫面右方的管道縫隙。如果小鳥不小心擦碰到了管子的話,游戲便宣告結束)。這個小游戲,之前火的時候,基本上,每天可以給開發者帶來,4到5萬美元的收入 。收入還是挺可觀的 !所以騷年們,努力吧,創造屬於自己的Flappy Bird吧。
廣告平台選擇
這個要看自己,仁者見仁,智者見智。現在andorid 廣告平台很多,隨便在網路上面,一搜非常多。並且如果你加了一個andorid群,裡面也會有人自動找到你,讓你用他們平台的sdk。這個就是看你如何選擇了。
望採納。
5. 怎麼創建應用並部署代碼
「
要建立一個大數據系統,我們需要從數據流的源頭跟蹤到最後有價值的輸出,並在現有的Hadoop和大數據生態圈內根據實際需求挑選並整合各部分合適的組件來構建一個能夠支撐多種查詢和分析功能的系統平台。這其中既包括了對數據存儲的選擇,也涵蓋了數據線上和線下處理分離等方面的思考和權衡。此外,沒有任何一個引入大數據解決方案的商業應用在生產環境上承擔的起安全隱患。
1
計算框架篇
大數據的價值
只有在能指導人們做出有價值的決定時,數據才能體現其自身的價值。因此,大數據技術要服務於實際的用途,才是有意義的。一般來說,大數據可以從以下三個方面指導人們做出有價值的決定:
報表生成(比如根據用戶歷史點擊行為的跟蹤和綜合分析、 應用程序活躍程度和用戶粘性計算等);
診斷分析(例如分析為何用戶粘性下降、根據日誌分析系統為何性能下降、垃圾郵件以及病毒的特徵檢測等);
決策(例如個性化新聞閱讀或歌曲推薦、預測增加哪些功能能增加用戶粘性、幫助廣告主進行廣告精準投放、設定垃圾郵件和病毒攔截策略等)。
圖 1
進一步來看,大數據技術從以下三個方面解決了傳統技術難以達成的目標(如圖1):
在歷史數據上的低延遲(...「
要建立一個大數據系統,我們需要從數據流的源頭跟蹤到最後有價值的輸出,並在現有的Hadoop和大數據生態圈內根據實際需求挑選並整合各部分合適的組件來構建一個能夠支撐多種查詢和分析功能的系統平台。這其中既包括了對數據存儲的選擇,也涵蓋了數據線上和線下處理分離等方面的思考和權衡。此外,沒有任何一個引入大數據解決方案的商業應用在生產環境上承擔的起安全隱患。
1
計算框架篇
大數據的價值
只有在能指導人們做出有價值的決定時,數據才能體現其自身的價值。因此,大數據技術要服務於實際的用途,才是有意義的。一般來說,大數據可以從以下三個方面指導人們做出有價值的決定:
報表生成(比如根據用戶歷史點擊行為的跟蹤和綜合分析、 應用程序活躍程度和用戶粘性計算等);
診斷分析(例如分析為何用戶粘性下降、根據日誌分析系統為何性能下降、垃圾郵件以及病毒的特徵檢測等);
決策(例如個性化新聞閱讀或歌曲推薦、預測增加哪些功能能增加用戶粘性、幫助廣告主進行廣告精準投放、設定垃圾郵件和病毒攔截策略等)。
圖 1
進一步來看,大數據技術從以下三個方面解決了傳統技術難以達成的目標(如圖1):
在歷史數據上的低延遲(互動式)查詢,目標是加快決策過程和時間, 例如分析一個站點為何變緩慢並嘗試修復它;
在實時數據上的低延遲查詢,目的是幫助用戶和應用程序在實時數據上做出決策, 例如實時檢測並阻攔病毒蠕蟲(一個病毒蠕蟲可以在1.3秒內攻擊1百萬台主機);
更加精細高級的數據處理演算法,這可以幫助用戶做出「更好」的決策, 例如圖數據處理、異常點檢測、趨勢分析及其他機器學習演算法。
蛋糕模式
從將數據轉換成價值的角度來說,在Hadoop生態圈十年蓬勃成長的過程中,YARN和Spark這二者可以算得上是里程碑事件。Yarn的出現使得集群資源管理和數據處理流水線分離,大大革新並推動了大數據應用層面各種框架的發展(SQL on Hadoop框架, 流數據,圖數據,機器學習)。
它使得用戶不再受到MapRece開發模式的約束,而是可以創建種類更為豐富的分布式應用程序,並讓各類應用程序運行在統一的架構上,消除了為其他框架維護獨有資源的開銷。就好比一個多層蛋糕,下面兩層是HDFS和Yarn, 而MapRece就只是蛋糕上層的一根蠟燭而已,在蛋糕上還能插各式各樣的蠟燭。
在這一架構體系中,總體數據處理分析作業分三塊(圖2),在HBase上做互動式查詢(Apache Phoenix, Cloudera Impala等), 在歷史數據集上編寫MapRece程序抑或利用Hive等做批處理業務, 另外對於實時流數據分析Apache Storm則會是一種標准選擇方案。
雖然Yarn的出現極大地豐富了Hadoop生態圈的應用場景,但仍存有兩個顯而易見的挑戰:一是在一個平台上需要維護三個開發堆棧;二是在不同框架內很難共享數據,比如很難在一個框架內對流數據做互動式查詢。這也意味著我們需要一個更為統一和支持更好抽象的計算框架的出現。
圖 2
一統江湖
Spark的出現使得批處理任務,互動式查詢,實時流數據處理被整合到一個統一的框架內(圖3),同時Spark和現有的開源生態系統也能夠很好地兼容(Hadoop, HDFS, Yarn, Hive, Flume)。 通過啟用內存分布數據集,優化迭代工作負載, 用戶能夠更簡單地操作數據,並在此基礎上開發更為精細的演算法,如機器學習和圖演算法等。
有三個最主要的原因促使Spark目前成為了時下最火的大數據開源社區(擁有超過來自200多個公司的800多個contributors):
Spark可以擴展部署到超過8000節點並處理PB級別的數據,同時也提供了很多不錯的工具供應用開發者進行管理和部署;
Spark提供了一個互動式shell供開發者可以用Scala或者Python即時性試驗不同的功能;
Spark提供了很多內置函數使得開發者能夠比較容易地寫出低耦合的並且能夠並發執行的代碼,這樣開發人員就更能集中精力地為用戶提供更多的業務功能而不是花費時間在優化並行化代碼之上。
當然Spark也和當年的MapRece一樣不是萬靈葯,比如對實時性要求很高的流數據處理上Apache Storm還是被作為主流選擇, 因為Spark Streaming實際上是microbatch(將一個流數據按時間片切成batch,每個batch提交一個job)而不是事件觸發實時系統,所以雖然支持者們認為microbatch在系統延時性上貢獻並不多,但在生產環境中和Apache Storm相比還不是特別能滿足對低延時要求很高的應用場景。
比如在實踐過程中, 如果統計每條消息的平均處理時間,很容易達到毫秒級別,但一旦統計類似service assurance(確保某條消息在毫秒基本能被處理完成)的指標, 系統的瓶頸有時還是不能避免。
但同時我們不能不注意到,在許多用例當中,與流數據的交互以及和靜態數據集的結合是很有必要的, 例如我們需要在靜態數據集上進行分類器的模型計算,並在已有分類器模型的基礎上,對實時進入系統的流數據進行交互計算來判定類別。
由於Spark的系統設計對各類工作(批處理、流處理以及互動式工作)進行了一個共有抽象,並且生態圈內延伸出了許多豐富的庫(MLlib機器學習庫、SQL語言API、GraphX), 使得用戶可以在每一批流數據上進行靈活的Spark相關操作,在開發上提供了許多便利。
Spark的成熟使得Hadoop生態圈在短短一年之間發生了翻天覆地的變化, Cloudera和Hortonworks紛紛加入了Spark陣營,而Hadoop項目群中除了Yarn之外已經沒有項目是必須的了(雖然Mesos已在一些場合替代了Yarn), 因為就連HDFS,Spark都可以不依賴。但很多時候我們仍然需要像Impala這樣的依賴分布式文件系統的MPP解決方案並利用Hive管理文件到表的映射,因此Hadoop傳統生態圈依然有很強的生命力。
另外在這里簡要對比一下互動式分析任務中各類SQL on Hadoop框架,因為這也是我們在實際項目實施中經常遇到的問題。我們主要將注意力集中在Spark SQL, Impala和Hive on Tez上, 其中Spark SQL是三者之中歷史最短的,論文發表在15年的SIGMOD會議上, 原文對比了數據倉庫上不同類型的查詢在Shark(Spark最早對SQL介面提供的支持)、Spark SQL和Impala上的性能比較。
也就是說, 雖然Spark SQL在Shark的基礎上利用Catalyst optimizer在代碼生成上做了很多優化,但總體性能還是比不上Impala, 尤其是當做join操作的時候, Impala可以利用「predicate pushdown」更早對表進行選擇操作從而提高性能。
不過Spark SQL的Catalyst optimizer一直在持續優化中,相信未來會有更多更好的進展。Cloudera的Benchmark評測中Impala一直比其他SQL on Hadoop框架性能更加優越,但同時Hortonworks評測則指出雖然單個數據倉庫查詢Impala可以在很短的時間內完成,但是一旦並發多個查詢Hive on Tez的優勢就展示出來。另外Hive on Tez在SQL表達能力也要比Impala更強(主要是因為Impala的嵌套存儲模型導致的), 因此根據不同的場景選取不同的解決方案是很有必要的。
圖 3
各領風騷抑或代有才人出?
近一年比較吸引人眼球的Apache Flink(與Spark一樣已有5年歷史,前身已經是柏林理工大學一個研究性項目,被其擁躉推崇為繼MapRece, Yarn,Spark之後第四代大數據分析處理框架)。 與Spark相反,Flink是一個真正的實時流數據處理系統,它將批處理看作是流數據的特例,同Spark一樣它也在嘗試建立一個統一的平台運行批量,流數據,互動式作業以及機器學習,圖演算法等應用。
Flink有一些設計思路是明顯區別於Spark的,一個典型的例子是內存管理,Flink從一開始就堅持自己精確的控制內存使用並且直接操作二進制數據,而Spark一直到1.5版本都還是試用java的內存管理來做數據緩存,這也導致了Spark很容易遭受OOM以及JVM GC帶來的性能損失。
但是從另外一個角度來說, Spark中的RDD在運行時被存成java objects的設計模式也大大降低了用戶編程設計門檻, 同時隨著Tungsten項目的引入,Spark現在也逐漸轉向自身的內存管理, 具體表現為Spark生態圈內從傳統的圍繞RDD(分布式java對象集合)為核心的開發逐漸轉向以DataFrame(分布式行對象集合)為核心。
總的來說,這兩個生態圈目前都在互相學習,Flink的設計基因更為超前一些,但Spark社區活躍度大很多,發展到目前毫無疑問是更為成熟的選擇,比如對數據源的支持(HBase, Cassandra, Parquet, JSON, ORC)更為豐富以及更為統一簡潔的計算表示。另一方面,Apache Flink作為一個由歐洲大陸發起的項目,目前已經擁有來自北美、歐洲以及亞洲的許多貢獻者,這是否能夠一改歐洲在開源世界中一貫的被動角色,我們將在未來拭目以待。
2
NoSQL資料庫篇
NoSQL資料庫在主流選擇上依舊集中在MongoDB, HBase和Cassandra這三者之間。在所有的NoSQL選擇中,用C 編寫的MongoDB幾乎應該是開發者最快也最易部署的選擇。MongoDB是一個面向文檔的資料庫,每個文檔/記錄/數據(包括爬取的網頁數據及其他大型對象如視頻等)是以一種BSON(Binary JSON)的二進制數據格式存儲, 這使得MongoDB並不需要事先定義任何模式, 也就是模式自由(可以把完全不同結構的記錄放在同一個資料庫里)。
MongoDB對於完全索引的支持在應用上是很方便的,同時也具備一般NoSQL分布式資料庫中可擴展,支持復制和故障恢復等功能。 MongoDB一般應用於高度伸縮性的緩存及大尺寸的JSON數據存儲業務中,但不能執行「JOIN」操作,而且數據佔用空間也比較大,最被用戶詬病的就是由於MongoDB提供的是資料庫級鎖粒度導致在一些情況下建索引操作會引發整個資料庫阻塞。一般來說,MongoDB完全可以滿足一些快速迭代的中小型項目的需求。
下面來主要談談Cassandra和HBase之間的比較選擇。Cassandra和HBase有著截然不同的基因血統。HBase和其底層依賴的系統架構源自於著名的Google FileSystem(發表於2003年)和Google BigTable設計(發表於2006年), 其克服了HDFS注重吞吐量卻犧牲I/O的缺點,提供了一個存儲中間層使得用戶或者應用程序可以隨機讀寫數據。
具體來說,HBase的更新和刪除操作實際上是先發生在內存MemStore中, 當MemStore滿了以後會Flush到StoreFile, 之後當StoreFile文件數量增長到一定閾值後會觸發Compact合並操作,因此HBase的更新操作其實是不斷追加的操作,而最終所有更新和刪除數據的持久化操作都是在之後Compact過程中進行的。
這使得應用程序在向內存MemStore寫入數據後,所做的修改馬上就能得到反映,用戶讀到的數據絕不會是陳舊的數據,保證了I/O高性能和數據完全一致性; 另一方面來說, HBase基於Hadoop生態系統的基因就已經決定了他自身的高度可擴展性、容錯性。
在數據模型上,Cassandra和HBase類似實現了一個key-value提供面向列式存儲服務,其系統設計參考了 Amazon Dynamo (發表於2007年) 分布式哈希(DHT)的P2P結構(實際上大部分Cassandra的初始工作都是由兩位從Amazon的Dynamo組跳槽到Facebook的工程師完成),同樣具有很高的可擴展性和容錯性等特點。
除此之外, 相對HBase的主從結構,Cassandra去中心化的P2P結構能夠更簡單地部署和維護,比如增加一台機器只需告知Cassandra系統新節點在哪,剩下的交給系統完成就行了。同時,Cassandra對多數據中心的支持也更好,如果需要在多個數據中心進行數據遷移Cassandra會是一個更優的選擇。
Eric Brewer教授提出的經典CAP理論認為任何基於網路的數據共享系統,最多隻能滿足數據一致性、可用性、分區容忍性三要素中的兩個要素。實際分布式系統的設計過程往往都是在一致性與可用性上進行取捨,相比於HBase數據完全一致性的系統設計,Cassandra選擇了在優先考慮數據可用性的基礎上讓用戶自己根據應用程序需求決定系統一致性級別。
比如:用戶可以配置QUONUM參數來決定系統需要幾個節點返回數據才能向客戶端做出響應,ONE指只要有一個節點返回數據就可以對客戶端做出響應,ALL指等於數據復制份數的所有節點都返回結果才能向客戶端做出響應,對於數據一致性要求不是特別高的可以選擇ONE,它是最快的一種方式。
從基因和發展歷史上來說,HBase更適合用做數據倉庫和大規模數據處理與分析(比如對網頁數據建立索引), 而Cassandra則更適合用作實時事務和互動式查詢服務。Cassandra在國外市場佔有比例和發展要遠比國內紅火, 在不少權威測評網站上排名都已經超過了HBase。目前Apache Cassandra的商業化版本主要由軟體公司DataStax進行開發和銷售推廣。另外還有一些NoSQL分布式資料庫如Riak, CouchDB也都在各自支持的廠商推動下取得了不錯的發展。
雖然我們也考慮到了HBase在實際應用中的不便之處比如對二級索引的支持程度不夠(只支持通過單個行鍵訪問,通過行鍵的范圍查詢,全表掃描),不過在明略的大數據基礎平台上,目前整合的是依然是HBase。
理由也很簡單,HBase出身就與Hadoop的生態系統緊密集成,其能夠很容易與其他SQL on Hadoop框架(Cloudera Impala, Apache Phoenix, or Hive on Tez)進行整合,而不需要重新部署一套分布式資料庫系統,而且可以很方便地將同樣的數據內容在同一個生態系統中根據不同框架需要來變換存儲格式(比如存儲成Hive表或者Parquet格式)。
我們在很多項目中都有需要用到多種SQL on Hadoop框架,來應對不同應用場景的情況,也體會到了在同一生態系統下部署多種框架的簡便性。 但同時我們也遇到了一些問題, 因為HBase項目本身與HDFS和Zookeeper系統分別是由不同開源團隊進行維護的,所以在系統整合時我們需要先對HBase所依賴的其他模塊進行設置再對HBase進行配置,在一定程度上降低了系統維護的友好性。
目前我們也已經在考慮將Cassandra應用到一些新的客戶項目中,因為很多企業級的應用都需要將線上線下資料庫進行分離,HBase更適合存儲離線處理的結果和數據倉庫,而更適合用作實時事務和並發交互性能更好的Cassandra作為線上服務資料庫會是一種很好的選擇。
3
大數據安全篇
隨著越來越多各式各樣的數據被存儲在大數據系統中,任何對企業級數據的破壞都是災難性的,從侵犯隱私到監管違規,甚至會造成公司品牌的破壞並最終影響到股東收益。給大數據系統提供全面且有效的安全解決方案的需求已經十分迫切:
大數據系統存儲著許多重要且敏感的數據,這些數據是企業長久以來的財富
與大數據系統互動的外部系統是動態變化的,這會給系統引入新的安全隱患
在一個企業的內部,不同Business Units會用不同的方式與大數據系統進行交互,比如線上的系統會實時給集群推送數據、數據科學家團隊則需要分析存儲在數據倉庫內的歷史數據、運維團隊則會需要對大數據系統擁有管理許可權。
因此為了保護公司業務、客戶、財務和名譽免於被侵害,大數據系統運維團隊必須將系統安全高度提高到和其他遺留系統一樣的級別。同時大數據系統並不意味著引入大的安全隱患,通過精細完整的設計,仍然能夠把一些傳統的系統安全解決方案對接到最新的大數據集群系統中。
一般來說,一個完整的企業級安全框架包括五個部分:
Administration: 大數據集群系統的集中式管理,設定全局一致的安全策略
Authentication: 對用戶和系統的認證
Authorization:授權個人用戶和組對數據的訪問許可權
Audit:維護數據訪問的日誌記錄
Data Protection:數據脫敏和加密以達到保護數據的目的
系統管理員要能夠提供覆蓋以上五個部分的企業級安全基礎設施,否則任何一環的缺失都可能給整個系統引入安全性風險。
在大數據系統安全集中式管理平台這塊,由Hortonworks推出的開源項目Apache Ranger就可以十分全面地為用戶提供Hadoop生態圈的集中安全策略的管理,並解決授權(Authorization)和審計(Audit)。例如,運維管理員可以輕松地為個人用戶和組對文件、數據等的訪問策略,然後審計對數據源的訪問。
與Ranger提供相似功能的還有Cloudera推出的Apache Sentry項目,相比較而言Ranger的功能會更全面一些。
而在認證(Authentication)方面, 一種普遍採用的解決方案是將基於Kerberos的認證方案對接到企業內部的LDAP環境中, Kerberos也是唯一為Hadoop全面實施的驗證技術。
另外值得一提的是Apache Knox Gateway項目,與Ranger提高集群內部組件以及用戶互相訪問的安全不同,Knox提供的是Hadoop集群與外界的唯一交互介面,也就是說所有與集群交互的REST API都通過Knox處理。這樣,Knox就給大數據系統提供了一個很好的基於邊緣的安全(perimeter-based security)。
基於以上提到的五個安全指標和Hadoop生態圈安全相關的開源項目, 已經足已證明基於Hadoop的大數據平台我們是能夠構建一個集中、一致、全面且有效的安全解決方案。
我市再ITjob管網上面找的
6. 如何將已有的源代碼變成應用程序
看你項目了...項目打開正確..文件無缺.那就可以打開的..
我只是想賺一個積分。。。
7. 用任何高級編程語言編寫的應用程序代碼
高級語言書寫的抄代碼不能襲直接運行,是源代碼,要想運行,就要將源代碼編譯成執行文件,或用解釋環境解釋運行,C、DELPHI這些是編譯行語言,VB、JAVA是解釋性語言,編譯性語言在最終運行速度遠遠大於解釋性語言。
8. 我是一個編程初學者,程序代碼編寫完成,如何打包製作成EXE應用程序呢有什麼軟體嗎
集成開發環境里都有
compile--make就行了
9. 求c語言小應用程序源代碼
破譯密碼
問題:
據說最早的密碼來自於羅馬的凱撒大帝。消息加密的辦法是:對消息原文中的每個字母,分別用該字母之後的第5個字母替換(例如:消息原文中的每個字母A都分別替換成字母F)。而你要獲得消息原文,也就是要將這個過程反過來。
密碼字母:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z M
原文字母:V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
(注意:只有字母會發生替換,其他非字母的字元不變,並且消息原文的所有字母都是大寫的。)
輸入:最多不超過100個數據集組成,每個數據集之間不會有空行,每個數據集由3部分組成:
1. 起始行:START
2. 密碼消息:由1到200個字元組成一行,表示凱撒發出的一條消息.
3. 結束行:END
在最後一個數據集之後,是另一行:ENDOFINPUT。
輸出:
每個數據集對應一行,是凱撒的原始消息。
Sample Input
START
NS BFW, JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJX
END
START
N BTZQI WFYMJW GJ KNWXY NS F QNYYQJ NGJWNFS ANQQFLJ YMFS XJHTSI NS WTRJ
END
START
IFSLJW PSTBX KZQQ BJQQ YMFY HFJXFW NX RTWJ IFSLJWTZX YMFS MJ
END
ENDOFINPUT
Sample Output
IN WAR, EVENTS OF IMPORTANCE ARE THE RESULT OF TRIVIAL CAUSES
I WOULD RATHER BE FIRST IN A LITTLE IBERIAN VILLAGE THAN SECOND IN ROME
DANGER KNOWS FULL WELL THAT CAESAR IS MORE DANGEROUS THAN HE
解題思路
凱撒編碼,判斷字元是否是字母,並循環-5即可,記得要循環哦,非常簡單的題目哦
答案:
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define N 202
char str[N]={0};
int main()
{
char *p;
gets(str);
while( strcmp(str, "ENDOFINPUT") != 0 ) //當沒遇到消息集的結尾時
{
if ( (strcmp(str, "START") !=0) //當消息不是開始
&&(strcmp(str, "END") != 0) ) //消息不是結尾
{
for(p=str; *p !='\0'; p++) //對輸入的串進行解密
{
if( isupper(*p) ) //判斷是否為大寫字元
*p += *p-5 <'A' ? 26-5: -5; //進行轉換,考慮邊界問題!
}
puts(str); //輸出字元
}
gets(str); //接受下一行
}
return 0;
}
10. 怎麼把源代碼製作成應用程序
您有沒有一點程序基礎?