導航:首頁 > 源碼編譯 > 乒乓演算法代碼

乒乓演算法代碼

發布時間:2022-08-21 17:47:46

① 乒乓球比賽游戲機源代碼

第一章 設計任務書
一、設計題目:乒乓球比賽游戲機
二、設計要求:
1. 設計一個甲、乙雙方參賽,裁判參與的乒乓球比賽游戲模擬機。
2. 用8個發光二極體排成一條直線,以中點為界,兩邊各代表參賽雙方的位置,其中點亮的發光二極體代表「乒乓球」的當前位置,點亮的發光二極體依次由左向右或由右向左移動。
3. 當球運動到某方的最後一位時,參賽者應立即按下自己一方的按鈕,即表示擊球,若擊中,則「球」向相反方向運動,若未擊中,則對方得1分。
4. 設置自動計分電路,雙方各用二位數碼管來顯示計分,每局10分。到達10分時產生報警信號。

第二章 電路組成和工作原理

一.分析系統的邏輯功能,畫出其框圖如下:

計分電路
球台電路

L

CP

S

KA,KB
CNT

圖1乒乓球比賽游戲機的原理框圖

如上圖1所示,該電路主要由球台驅動電路,控制電路,計數器,顯示解碼器和LED數碼管等組成。途中標出的各種信號的含義:CP表示球台驅動電路和計數器的時鍾信號;S表示燈(乒乓球)移動的信號;L表示發光二極體驅動信號,由L1~L8組成;CNT表示計數器的計數脈沖信號,由CNT1,CNT2組成;KA,KB表示開關控制的外輸入發球、擊球信號。
二、總體思路描述如下:
1.用兩個74LS194四位雙向移位寄存器模擬乒乓球台,其中第一個74LS194的DL輸出端接第二個的右移串列輸入端,這樣當乒乓球往右准備移出第一個寄存器的時候就會在時鍾脈沖的作用下被移入第二個寄存器。同樣道理,第二個74LS194的AR輸出端接第一個的左移串列輸入端。
2.用D觸發器及邏輯門電路構成驅動控制電路
3.用計數器、邏輯門電路和集成的4管腳的數碼管組成計分電路

第三章 設計步驟及方法
一、單元電路的設計
1.球台電路如下圖2設計所示:

圖2.球台電路
上圖中,兩片4位74LS194雙向移位寄存器接成8位雙向移位寄存器。74LS194功能表如下
D
S1 S0 工作狀態
0
1
1
1
1 × ×
0 0
0 1
1 0
1 1 置零
保持
右移
左移
並行輸入
功能說明:
(1)當S1 = S0 =1 時,不管各輸入端原來是什麼狀態,在下一個時脈沖到來時,其輸出分別是預先輸入到並行輸入端的 abcd ,這種方式叫送數。

(2)當 S 1 =0 ,S 0 =1 時,其工作方式叫右移,這時,每來一個時鍾脈沖,輸出端的數各向右移一位,而 Q A 端的輸出則由加到 R 端的數來補充。
(3)當 S 1 =1 ,S 0 =0 時,其工作方式叫左移,情況正好與右移相反; Q D 端的輸出由加到 L 端的數來補充。
(4)當 S 1 = S 0 =0 時,不管是否有 CP 脈沖作用,輸出保持不變,這叫保持方式。 CP=0 時也是保持方式。
2.驅動控制電路設計如下圖3所示

圖3.驅動控制電路
圖中74LS74為上升沿觸發的D觸發器,~PR為置1端(低有效),~CLR為置0端(低有效)。當J1=0時,兩片D觸發器輸出端均為1即S1=S0=1,通過接入74LS194,此時實現的是並行輸入功能。當J1=1時,L1=J2=1,J3=L8=0,通過各門電路可知U2A,U4A,U2B輸出端分別為0,1,1,則D觸發器輸出端分別為0,1即S1=0,S0=1。相反情況時,當J1=1時,L1=J2=0,J3=L8=1,D觸發器輸出端分別為1,0即S1=1,S0=0。通過此電路來控制並且實現球台燈的左右移位即實現乒乓球的運動。

3.計分電路的設計如下圖4所示:

圖4.計分電路
如上圖所示,計分電路由一個7404非門,7409與門和十進制的74LS160計數器構成。得分真值表如下
由上表可得上圖中非門和與門的接法。
L1 J2(A) L8 J3 Y(A) Y(B)
1 0 0 0 0 1
0 0 1 0 1 0
同步十進制計數器74LS160的功能表如下:

D

EP ET 工作狀態
×

×
×

0
1
1
1
1 ×
0
1
1
1 × ×
× ×
0 1
× 0
1 1 置零
預置數
保持
保持(但C=0)
計數
由74LS160的功能表可知,當~RD=~LD=EP=ET=1時工作狀態為計數,即圖4中的~CLR=~LOAD=ENT=
ENP=1時。選用ENP、ENT作為74LS160的計數控制端,當ENT=ENP=1時計數,當ENT=ENP=0時計分電路處於保持狀態。RCO為進位輸出端,即當選手計滿9分時給出報警信號。

二、總體電路的設計及模擬結果。
總體設計電路圖如下圖所示:

模擬結果圖如下:

用Multisim封裝後的結果如下圖所示:

繪制的PCB圖

課程設計收獲
通過此次課程設計,我們了解了模擬電路基本設計方法,對Multisim模擬軟體有了初步的了解和認識,使用Multisim模擬軟體,可以讓我們在虛擬的環境中進行實驗,不需要真實電路環境的介入,不必顧及儀器設備的短缺與時間環境的限制,能夠極大的提高實驗的效率。
這次數電課程設計,雖然短暫但是讓我得到多方面的提高:1、提高了我們的邏輯思維能力,使我們在邏輯電路的分析與設計上有了很大的進步。加深了我們對組合邏輯電路與時序邏輯電路的認識,進一步增進了對一些常見邏輯器件的了解。另外,我們還更加充分的認識到,數字電路這門課程在科學發展中的至關重要性2,查閱參考書的獨立思考的能力以及培養非常重要,我們在設計電路時,遇到很多不理解的東西,有的我們通過查閱參考書弄明白,有的通過網路查到,但由於時間和資料有限我們更多的還是獨立思考。3,相互討論共同研究也是很重要的,經常出現一些問題,比如電路設計中的控制器的設計,以及乒乓球游戲機怎樣計分等的分析。還使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。

學生:

年 月 日

提供郵箱吧 圖看不到 給你發文檔

如果對您有幫助,請記得採納為滿意答案,謝謝!祝您生活愉快!

② 有n個人參加乒乓球比賽,實行單循環制(與每個人都要比一次),求比賽的安排表!用C#編寫代碼!

n*(n-1)/2場
n為偶數,需要n-1輪
n為奇數,需要n輪
程序可以自己寫

③ 用c語言編寫:有3個乒乓球選手,5個評委給打分,將3個選手的最後得分按大小順序輸出!

樓上那位顯然錯了吧,答案沒驗算過嗎?
不用排序,數據才這么點。 程序很短, 看不懂的話再追問吧。
你可以復制下來看看效果。

#include <stdio.h>

const int inf = 1000000;

double init()
{
int sum = 0, x, i, max = 0, min = inf;
for (i = 1;i <= 5;++i)
{
scanf("%d", &x);
sum += x;
if (x > max) max = x;
if (x < min) min = x;
}
return (double)(sum - max - min) / 3;

}

int main()
{
double max = 0, mid, min = inf;
int i;
int maxNo, midNo, minNo;
double x[4];
printf("Input the 5 score of the first player: \n");
x[1] = init();
printf("Input the 5 score of the second player: \n");
x[2] = init();
printf("Input the 5 score of the third player: \n");
x[3] = init();
for (i = 1;i <= 3;++i)
{
if (x[i] > max) max = x[i], maxNo = i;
if (x[i] < min) min = x[i], minNo = i;
}
for (i = 1;i <= 3;++i)
if (x[i] != max && x[i] != min) mid = x[i], midNo = i;
printf("The highest is Player %d, scored %.2lf.\n", maxNo, max);
printf("The middle is Player %d, scored %.2lf.\n", midNo, mid);
printf("The lowest is Player %d, scored %.2lf.\n", minNo, min);
}

④ 什麼是HSDPA

HSDPA
1.HSDPA概述
HSDPA(High Speed Downlink Packet Access)表示高速下行分組接入技術。
在3G的三大標準的角逐中,WCDMA商用在運營商的支持數量上取得了領先,但在其網路所支持的數據速率上卻長期停留在理論上的384kbps水平,而其網路建設也一直處於緩慢發展的狀態。
與此形成鮮明對照的是,在韓國、日本等國家實現商用的CDMA2000 1X EV-DO網路系統上,已經實現了2.4Mbps的峰值速率,其寬頻接入服務能為客戶提供300kbps-500kbps平均下載速率,這足以與有線寬頻的速率相媲美。
比較而言,同為已經實現商用的3G網路系統,面對現有的3G業務,WCDMA已經稍顯力不從心,在數據傳輸速率上的巨大落差,以及由此帶來的業務能力上的弱勢,自然使得WCDMA陣營不甘落後,必須尋找一種趕超CDMA2000 1X EV-DO的有力武器。
HSDPA(高速下行分組接入,High Speed Downlink Packages Access)技術是實現提高WCDMA網路高速下行數據傳輸速率最為重要的技術,是3GPP在R5協議中為了滿足上下行數據業務不對稱的需求提出來的,它可以在不改變已經建設的WCDMA系統網路結構的基礎上,大大提高用戶下行數據業務速率(理論最大值可達14.4Mbps),該技術是WCDMA網路建設中提高下行容量和數據業務速率的一種重要技術。
對高速移動分組數據業務的支持能力是3G系統最重要的特點之一。
WCDMA R99版本可以提供384kbps的數據速率,這個速率對於大部分現有的分組業務而言基本夠用。然而,對於許多對流量和遲延要求較高的數據業務如視頻、流媒體和下載等,需要系統提供更高的傳輸速率和更短的時延。
在未來幾年內,數據服務將會取得大幅度增長,並成為第三代(3G)移動通信的主要應用和主要收入來源。目前日本和韓國的3G經營商已經在體驗3G服務的巨大成功。日本DoCoMo公司於2001年推出的WCDMA-FOMA服務所創造的收入已經佔到其總收入的20%以上,截止到2004年5月已擁有400萬用戶。韓國電信公司(SKT)2003年第3季度,在部署了1xEV-DO網路之後,該公司數據服務收入占據每用戶平均收入(ARPU)值的比例上升到了34%。
為了適應多媒體服務對高速數據傳輸日益增長的需要,第三代移動通信合作項目組(3GPP)已經公布了一種新的高速數據傳輸技術,叫做高速下行分組接入技術(HSDPA)。該技術是WCDMA R』99(也就是我們常說的WCDMA)的強化版本,大大加強了下行鏈路傳輸的功能。
日本的NTT DoCoMo是最早試驗HSDPA技術的運營商之一,在2004年3GSM全球大會上,HSDPA也同樣改變了所有主要歐洲運營商的日程。在美國,GSM運營商當然也在尋求更多的武器,以便在越來越具有攻擊性的市場中確保領先地位。2004年12月1日,Cingular正式與朗訊科技簽署了一項為期4年的3GW-CDMA設備、軟體和服務供貨協議,其中就包括了HSDPA技術的部署。協議將使Cingular公司從2005年起得以為消費者提供范圍廣泛的多媒體服務。
PA咨詢公司和Yankee集團最近認為,HSDPA需求可能首先來自企業市場。PA咨詢公司相信,HSDPA將在面向企業市場的W-CDMA案例中扮演核心角色。Yankee集團則將HSDPA技術視為一個可以使運營商面向企業市場推出高利潤服務的重要差別化因子,並將在向更快的3G服務演進中扮演極為突出的角色。Gartner集團更關注新技術對網路效率的影響,認為部署HSDPA技術的運營商將獲得相當的競爭優勢。
為了更好地發展數據業務,3GPP從這兩方面對空中介面作了改進,引入了HSDPA技術。HSDPA不但支持高速不對稱數據服務,而且在大大增加網路容量的同時還能使運營商投入成本最小化。它為UMTS更高數據傳輸速率和更高容量提供了一條平穩的演進途徑,就如在GSM網路中引入EDGE一樣。 HSDPA的發展分為三階段,即基本HSDPA階段、增強HSDPA階段以及HSDPA進一步演進階段,其中HSDPA進一步演進階段目前還未最終確定,仍在3GPP內進行研究。
2.基本原理
WCDMA R5版本高速數據業務增強方案充分參考了cdma2000 1X EV-DO的設計思想與經驗,新增加一條高速共享信道(HS-DSCH),同時採用了一些更高效的自適應鏈路層技術。共享信道使得傳輸功率、PN碼等資源可以統一利用,根據用戶實際情況動態分配,從而提高了資源的利用率。自適應鏈路層技術根據當前信道的狀況對傳輸參數進行調整,如快速鏈路調整技術、結合軟合並的快速混合重傳技術、集中調度技術等,從而盡可能地提高系統的吞吐率。
基於演進考慮,HSDPA設計遵循的准則之一是盡可能地兼容R99版本中定義的功能實體與邏輯層間的功能劃分。在保持R99版本結構的同時,在NodeB(基站)增加了新的媒體接入控制(MAC)實體MAC-hs,負責調度、鏈路調整以及混合ARQ控制等功能。這樣使得系統可以在RNC統一對用戶在HS-DSCH信道與專用數據信道DCH之間切換進行管理。 HSDPA引入的信道使用與其它信道相同的頻點,從而使得運營商可以靈活地根據實際業務情況對信道資源進行靈活配置。 HSDPA信道包括高速共享數據信道(HS-DSCH)以及相應的下行共享控制信道(HS-SCCH)和上行專用物理控制信道(HS-DPCCH)。下行共享控制信道(HS-SCCH)承載從MAC-hs到終端的控制信息,包括移動台身份標記、H-ARQ相關參數以及HS-DSCH使用的傳輸格式。這些信息每隔2ms從基站發向移動台。上行專用物理控制信道(HS-DPCCH)則由移動台用來向基站報告下行信道質量狀況並請求基站重傳有錯誤的數據塊。
共享高速數據信道(HS-DSCH)映射的信道碼資源由15個擴頻因子固定為16的SF碼構成。不同移動台除了在不同時段分享信道資源外,還分享信道碼資源。信道碼資源共享使系統可以在較小數據包傳輸時僅使用信道碼集的一個子集,從而更有效地使用信道資源。此外,信道碼共享還使得終端可以從較低的數據率能力起步,逐步擴展,有利於終端的開發。從共用信道池分配的信道碼由RBS根據HS-DSCH信道業務情況每隔2ms分配一次。與專用數據信道使用軟切換不同,高速共享數據信道(HS-DSCH)間使用硬切換方式。
3.技術特點
3.1.數據業務與語音業務的技術特點
數據業務與語音業務具有不同的業務特性。語音業務通常對延時敏感,對於速率恆定性要求較高,而對誤碼率要求則相對較弱;數據業務則相反,通常可以容忍短時延時,但對誤碼率要求高。HSDPA參考cdma2000 1X EV-DO體制,充分考慮到數據業務特點,採用了快速鏈路調整技術、結合軟合並的快速混合重傳技術、集中調度技術等鏈路層調整技術。
3.1.1.快速鏈路調整技術
如前所述,數據業務與語音業務具有不同的業務特性。語音通信系統通常採用功率控制技術以抵消信道衰落對於系統的影響,以獲得相對穩定的速率,而數據業務相對可以容忍延時,可以容忍速率的短時變化。因此HSDPA不是試圖去對信道狀況進行改善,而是根據信道情況採用相應的速率。由於HS-DSCH每隔2ms就更新一次信道狀況信息,因此,鏈路層調整單元可以快速跟蹤信道變化情況,並通過採用不同的編碼調制方案來實現速率的調整。
當信道條件較好時,HS-DSCH採用更高效的調制方法---16QAM,以獲得更高的頻帶利用率。理論上,xQAM調制方法雖然能提高信道利用率,但由於調制信號間的差異性變小,因此需要更高的碼片功率,以提高解調能力。因此,xQAM調制方法通常用於帶寬受限的場合,而非功率受限的場合。在HSDPA中,通常靠近基站的用戶接收信號功能相對較強,可以得到xQAM調制方法帶來的好處。
此外,WCDMA是語音數據合一型系統,在保證語音業務所需的公共以及專用信道所需的功率外,可以將剩餘功率全部用於HS-DSCH,以充分利用基站功率。
3.1.2結合軟合並的混合重傳(HARQ)技術
終端通過HARQ機制快速請求基站重傳錯誤的數據塊,以減輕鏈路層快速調整導致的數據錯誤帶來的影響。終端在收到數據塊後5ms內向基站報告數據正確解碼或出現錯誤。終端在收到基站重傳數據後,在進行解碼時,結合前次傳輸的數據塊以及重傳的數據塊,充分利用它們攜帶的相關信息,以提高解碼概率。基站在收到終端的重傳請求時,根據錯誤情況以及終端的存儲空間,控制重傳相同的編碼數據或不同的編碼數據(進一步增加信息冗餘度),以幫助提高終端糾錯能力。
3.1.3集中調度技術
集中調度技術是決定HSDPA性能的關鍵因素。cdma2000 1X EV-DO以及HSDPA追求的是系統級的最優,如最大扇區通過率,集中調度機制使得系統可以根據所有用戶的情況決定哪個用戶可以使用信道,以何種速率使用信道。集中調度技術使得信道總是為與信道狀況相匹配的用戶所使用,從而最大限度地提高信道利用率。
信道狀況的變化有慢衰落與快衰落兩類。慢衰落主要受終端與基站間距離影響,而快衰落則主要受多徑效應影響。數據速率相應於信道的這兩種變化也存在短時抖動與長時變化。數據業務對於短時抖動相對可以容忍,但對於長時抖動要求則較嚴。好的調度演算法既要充分利用短時抖動特性,也要保證不同用戶的長時公平性。亦即,既要使得最能充分利用信道的用戶使用信道以提高系統吞吐率,也要使得信道條件相對不好的用戶在一定時間內能夠使用信道,也保證業務連續性。
常用的調度演算法包括比例公平演算法、乒乓演算法、最大CIR演算法。乒乓演算法不考慮信道變化情況;比例公平演算法既利用短時抖動特性也保證一定程度的長時公平性;最大CIR演算法使得信道條件較好的少數用戶可以得到較高的吞吐率,多數用戶則有可能得不到系統服務。
對系統性能的影響 HSDPA對系統性能的影響包括兩個業務與系統吞吐率兩個層面。快速鏈路層調整技術最大限度地利用了信道條件,並使得基站以接近最大功率發射信號;集中調度技術使得系統獲得系統級的多用戶分集好處;高階調制技術則提高了頻譜利用率以及數據速率。這些技術的綜合使用使得系統的吞吐率獲得顯著提高。同時,用戶速率的提高以及HARQ技術的使用使得TCP/UDP性能得到改善,從而提高了業務性能。但是,業務性能的提高程度與業務模型有關。
作為WCDMA R5版本高速數據業務增強技術,HSDPA通過採用時分共享信道以及快速鏈路調整、集中調度、HARQ等技術提高了系統的數據吞吐率以及業務性能,同時保證系統的前向兼容,除在RBS增加相應的MAC模塊外,不對系統結構帶來其它影響,從而有利於系統的靈活部署。
3.2.無線介面技術運用特點:
為改善WCDMA系統性能,HSDPA在無線介面上作出了大量變化,這主要影響到物理層和傳輸層:
縮短了無線電幀;新的高速下行信道;除QPSK調制外,還使用了16QAM調制;碼分復用和時分復用相結合;新的上行控制信道;採用自適應調制和編碼(AMC)實現快速鏈路適配;使用混合自動重復請求HARQ)。介質訪問控制(MAC)調度功能轉移到Node-B上。
HSDPA無線幀(在WCDMA結構中實際是子幀)長2ms,相當於目前定義的三個WCDMA時隙。一個10msWCDMA幀中有五個HSDPA子幀。用戶數據傳輸可以在更短的時長內分配給一條或多條物理信道。從而允許網路在時域及在碼域中重新調節其資源配置。
3.2.1下行傳輸信道編碼
HS-DSCH從WCDMA R99引入的下行共享信道(DSCH)演變而來,允許在時間上復用不同的用戶傳輸。為有效實現更高的數據速率和更高的頻譜效率,DSCH中的快速功率控制和可變展寬系數在R5中被代之以HS-DSCH上的短分組長度、多碼操作和AMC以及HARQ等技術。
根據R99 1/3增強編碼器,信道編碼一直採用1/3速率。但是,根據兩階段HARQ速率匹配流程中應用的參數,有效的碼速率會變化。
在這一過程中,信道編碼器輸出上的位數與HS-DSCH上映射的HS-PDSCH的總位數相匹配。HARQ功能通過冗餘版本(RV)參數控制。輸出上確切的位集取決於輸入位數、輸出位數和RV參數。在使用一個以上的HS-PDSCH時,物理信道分段功能在不同物理信道之間劃分比特位。它對每條物理信道單獨進行交織。
HSDPA採用正交相移鍵控調制(WCDMA中規定的技術),在無線電條件良好時,採用16正交幅度調制(16QAM)。
3.2.2下行物理信道結構
物理信道的第一個時隙承載HS-PDSCH接收的關鍵信息,如信道化代碼集和調制方案。在收到第一個時隙後,UE只有一個時隙解碼信息,准備接收HS-PDSCH。
映射到一個HS-DSCH上的HS-PDSCHs(或碼信道)數量可能會在1-15之間明顯變化。它使用正交可變展寬系數(OVSF)代碼。多碼數量和從給定HS-DSCH上映射的HS-PDSCH的相應偏置信息在HS-SCCH上傳送。偏置(0)時的多碼(P)分配如下:
Cch,16,0…Cch,16,O+P-1。第二個時隙和第三個時隙承載HS-DSCH信道編碼信息,如傳輸碼組長度、HARQ信息、RV和星座版本及新的數據指示符。使用16位UE標識涵蓋三個時隙的數據。
3.2.3自適應調制和編碼
鏈路適配是HSDPA改善數據吞吐量的一種重要途徑。採用的技術是自適應調制和編碼(AMC)。在每個用戶傳輸過程中,把系統的調制編碼方案與平均信道條件相匹配。傳輸的信號功率在子幀周期期間保持不變,它改變調制和編碼格式,以與當前收到的信號質量或信號條件相匹配。在這種情況下,BTS附近地區的用戶一般會配置速率較高的高階調制(例如,有效碼速率為O.89的16QAM),但隨著距BTS的距離增大,調制階和碼速率將下降。如前所述,可以採用1/3碼速增強編碼,通過各種速率匹配參數獲得不同的有效碼速率。
3.2.4混合ARQ
混合自動重復請求(HARQ)技術把前饋糾錯(FEC)和ARQ方法結合在一起,保存以前嘗試失敗中的信息,用於未來解碼中。HARQ是一種暗示鏈路適配技術。AMC採用明示的C/I或類似措施,設置調制和編碼格式,而HARQ則採用鏈路層確認制定重傳決策。從另一個角度講,AMC提供了粗數據速率選擇,而HARQ則根據信道條件提供數據速率微調功能。
3.2.5分組調度功能
除信道編碼及物理層和傳輸層變化外,HSDPA還實現了另一個變化,以支持快速傳送分組。它把分組調試功能從網路控制器移到了Node-B(BTS)中的MAC層。
分組調度演算法考慮無線信道條件(根據涉及的所有UE的CQI)和傳輸到不同用戶的數據數量。
3.3.技術實際運用上的表現:
3.3.1.高速數據傳輸和大用戶容量
通過實施若干快速而復雜的信道控制機制,包括物理層短幀、自適應編碼調制(AMC)、快速混合自動重傳技術(Hybrid-ARQ)和快速調度技術,HSDPA使峰值數據傳輸速率達到10 Mbps,改善了最終用戶使用數據下載服務的體驗,縮短了連接與應答的時間。更為重要的是,HSDPA使分區數據吞吐量增加了三至五倍,這便可以在不佔用更多網路資源的基礎上大幅度增加用戶數量。
3.3.2.支持服務質量水平控制
HSDPA較高的吞吐量和峰值數據傳輸速率有助於激勵和促進WCDMA所不支持的數據密集型應用的發展。事實上,HSDPA可以更加有效地實施由3GPP標准化的服

⑤ 求助單片機乒乓球匯編代碼

自己寫吧,這點苦都吃不了,那勸你早點轉行,這門學科水很深,學不好是出來打醬油的

⑥ C#,乒乓球小組循環賽名次計算:1.先計算得分(大分);2.得分相同,則計算小分,直到分出名次為止。代碼怎麼寫

定義一個選手類Competitor,然後再定義一個比分類Score
Score有兩個變數,int Win,int Fail

Competitor有個兩個變數,String Name,List<Score> Scores
然後,有3個屬性
一個總比分TotalScore,等於Scores.Sum(q=> q.Win>q.Fail?2:1)
一個總勝數TotalWin,等於Scores.Sum(q=>q.Win)
一個總敗數TotalFail,等於Scores.Sum(q=>q.Fail)
然後所有Competitor排序可以var result = Competitors.OrderByDescending(q=>q.TotalScore).ThenByDescending(q=>q.TotalWin * 1.0 / q.Fail);

⑦ 乒乓球、羽毛球、跳水、舉重代表的體育(體彩)數字各是多少

乒乓球為17,羽毛球18,跳水03,舉重06

運動項目名稱及對應數字代碼為:

01 田徑 02 游泳 03 跳水 04 水球 05 體操

06 舉重 07 射擊 08 射箭 09 擊劍 10 柔道

11 摔跤 12 拳擊 13 馬術 14 足球 15 籃球

16 排球 17 乒乓 18 羽毛 19 網球 20 手球

21 棒球 22 壘球 23 滑雪 24 冰球 25 帆船

26 帆板 27 皮艇 28 劃艇 29 賽艇 30 技巧

31 武術 32 滑水 33 蹼泳

⑧ c語言編程 (二)設計內容 1、兩個乒乓球隊進行比賽,各出3人。甲隊為

c語言經典100題:【程序1】題目:有1,2,3,4個數字,能組成多少個互不相同且無重復數字的三位數都是多少1.程序分析:可填在百位,十位,個位的數字都是1,2,3,4.組成所有的排列後再去掉不滿足條件的排列.2.程序源代碼:main(){inti,j,k;printf("\n");for(i1;i2)/*如果是閏年且月份大於2,總天數應該加一天*/sum++;printf("Itisthe%dthday.",sum);}【程序5】題目:輸入三個整數x,y,z,請把這三個數由小到大輸出.1.程序分析:我們想法把最小的數放到x上,先將x與y進行比較,如果x>y則將x與y的值進行交換,然後再用x與z進行比較,如果x>z則將x與z的值進行交換,這樣能使x最小.2.程序源代碼:main(){intx,y,z,t;scanf("%d%d%d",&x,&y,&z);if(x>y){tx;xy;yt;}/*交換x,y的值*/if(x>z){tz;zx;xt;}/*交換x,z的值*/if(y>z){ty;yz;zt;}/*交換z,y的值*/printf("smalltobig:%d%d%d\n",x,y,z);}【程序6】題目:用*號輸出字母c的圖案.1.程序分析:可先用'*'號在紙上寫出字母c,再分行輸出.2.程序源代碼:#include"stdio.h"main(){printf("helloc-world!\n");printf("****\n");printf("*\n");printf("*\n");printf("****\n");}【程序7】題目:輸出特殊圖案,請在c環境中運行,看一看,verybeautiful!1.程序分析:字元共有256個.不同字元,圖形不一樣.2.程序源代碼:#include"stdio.h"main(){chara176,b219;printf("%c%c%c%c%c\n",b,a,a,a,b);printf("%c%c%c%c%c\n",a,b,a,b,a);printf("%c%c%c%c%c\n",a,a,b,a,a);printf("%c%c%c%c%c\n",a,b,a,b,a);printf("%c%c%c%c%c\n",b,a,a,a,b);}【程序8】題目:輸出9*9口訣.1.程序分析:分行與列考慮,共9行9列,i控制行,j控制列.2.程序源代碼:#include"stdio.h"main(){inti,j,result;printf("\n");for(i1;ib)a:b這是條件運算符的基本例子.2.程序源代碼:main(){intscore;chargrade;printf("pleaseinputascore\n");scanf("%d",&score);gradescore>90'a':(score>60'b':'c');printf("%dbelongsto%c",score,grade);}【程序15】題目:利用條件運算符的嵌套來完成此題:學習成績>90分的同學用A表示,60-89分之間的用B表示,60分以下的用C表示。1.程序分析:(a>b)?a:b這是條件運算符的基本例子。2.程序源代碼:main(){intscore;chargrade;printf("pleaseinputascore\n");scanf("%d",&score);gradescore>90?'A':(score>60?'B':'C');printf("%dbelongsto%c",score,grade);}【程序16】題目:輸入兩個正整數m和n,求其最大公約數和最小公倍數.1.程序分析:利用輾除法.2.程序源代碼:main(){inta,b,num1,num2,temp;printf("pleaseinputtwonumbers:\n");scanf("%d,%d",&num1,&num2);if(num1{tempnum1;num1num2;num2temp;}anum1;bnum2;while(b!0)/*利用輾除法,直到b為0為止*/{tempa%b;ab;btemp;}printf("gongyueshu:%d\n",a);printf("gongbeishu:%d\n",num1*num2/a);}【程序17】題目:輸入一行字元,分別統計出其中英文字母,空格,數字和其它字元的個數.1.程序分析:利用while語句,條件為輸入的字元不為'\n'.2.程序源代碼:#include"stdio.h"main(){charc;intletters0,space0,digit0,others0;printf("pleaseinputsomecharacters\n");while((cgetchar())!'\n'){if(c>'a'&&c'a'&&c'0'&&c0){x1(x2+1)*2;/*第一天的桃子數是第2天桃子數加1後的2倍*/x2x1;day--;}printf("thetotalis%d\n",x1);}【程序22】題目:兩個乒乓球隊進行比賽,各出三人.甲隊為a,b,c三人,乙隊為x,y,z三人.已抽簽決定比賽名單.有人向隊員打聽比賽的名單.a說他不和x比,c說他不和x,z比,請編程序找出三隊賽手的名單.1.程序分析:判斷素數的方法:用一個數分別去除2到sqrt(這個數),如果能被整除,則表明此數不是素數,反之是素數.2.程序源代碼:main(){chari,j,k;/*i是a的對手,j是b的對手,k是c的對手*/for(i'x';ia[j])minj;tema[i];a[i]a[min];a[min]tem;}/*outputdata*/printf("Aftersorted\n");for(i0;iprintf("%5d",a[i]);}【程序38】題目:求一個3*3矩陣對角線元素之和1.程序分析:利用雙重for循環控制輸入二維數組,再將a[i][i]累加後輸出.2.程序源代碼:main(){floata[3][3],sum0;inti,j;printf("pleaseinputrectangleelement:\n");for(i0;i50)againtrue;elseagainfalse;}}【程序46】題目:宏#define命令練習(1)程序源代碼:#include"stdio.h"#defineTRUE1#defineFALSE0#defineSQ(x)(x)*(x)voidmain(){intnum;intagain1;printf("\40:.\n");while(again){printf("\40:Pleaseinputnumber>");scanf("%d",&num);printf("\40:Thesquareforthisnumberis%d\n",SQ(num));if(num>50)againTRUE;elseagainFALSE;}}【程序47】題目:宏#define命令練習(2)程序源代碼:#include"stdio.h"#defineexchange(a,b){\/*宏定義中允許包含兩道衣裳命令的情形,此時必須在最右邊加上"\"*/intt;\ta;\ab;\bt;\}voidmain(void){intx10;inty20;printf("x%d;y%d\n",x,y);exchange(x,y);printf("x%d;y%d\n",x,y);}【程序48】題目:宏#define命令練習(3)程序源代碼:#definelag>#definesmay)x:y#defineminimum(x,y)(x>y)y:xvoidmain(){inta10,b20;#ifdefmaxprintf("\40:thelargeroneis%d\n",maximum(a,b));#elseprintf("\40:theloweroneis%d\n",minimum(a,b)

python乒乓球比賽順序

Python解題源代碼如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

for i in range(ord('x'),ord('z') + 1):
for j in range(ord('x'),ord('z') + 1):
if i != j:
for k in range(ord('x'),ord('z') + 1):
if (i != k) and (j != k):
if (i != ord('x')) and (k != ord('x')) and (k != ord('z')):
print 'order is a -- %s\t b -- %s\tc--%s' % (chr(i),chr(j),chr(k))

⑩ 用c++編一個3對乒乓球比賽名單的程序

C、C++代碼:
C++代碼:
#include<iostream>
using namespace std;
int main()
{
char i,j,k;
for(i='X';i<='Z';i++)//窮舉法
for(j='X';j<='Z';j++)
for(k='X';k<='Z';k++)
if(i!=j&&i!=k&&j!=k)//三人對手各不相同,這句排除相同的情況
if(i!='X'&&k!='X'&&k!='Z')//A說他不和X比賽,C說他不和X、Z比賽
{
cout<<"A--"<<i<<endl;
cout<<"B--"<<j<<endl;
cout<<"C--"<<k<<endl;
}
return 0;
}
C代碼:
#include<stdio.h>
int main()
{
char i,j,k;
for(i='X';i<='Z';i++)//窮舉法
for(j='X';j<='Z';j++)
for(k='X';k<='Z';k++)
if(i!=j&&i!=k&&j!=k)//三人對手各不相同,這句排除相同的情況
if(i!='X'&&k!='X'&&k!='Z')//A說他不和X比賽,C說他不和X、Z比賽
{
printf("A--%c\n",i);
printf("B--%c\n",j);
printf("C--%c\n",k);
}
return 0;
}

閱讀全文

與乒乓演算法代碼相關的資料

熱點內容
柱加密區范圍在軟體中設置 瀏覽:704
紙質音樂壓縮教程 瀏覽:31
安卓手機健康碼快捷方式怎麼設置 瀏覽:475
程序員是怎麼發明的 瀏覽:173
新手程序員的職業規劃 瀏覽:173
c源程序通過編譯得到的目標文件 瀏覽:410
mpu6050控制單片機 瀏覽:751
雲伺服器租用什麼意思 瀏覽:149
程序員做中介怎麼樣 瀏覽:141
怎麼把解壓視頻保存到手機 瀏覽:451
app欠費怎麼查詢 瀏覽:350
錄音文件夾怎麼壓縮 瀏覽:898
編程培訓機構學費 瀏覽:500
華為麥芒5伺服器地址 瀏覽:746
怎麼把app裡面的app上鎖 瀏覽:942
java數字運算 瀏覽:166
java讀取上傳的文件 瀏覽:375
xp怎麼加密文檔 瀏覽:275
壓縮機風扇電機轉速慢 瀏覽:88
文件伺服器如何查看訪問人員 瀏覽:127