#include <malloc.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #define NULL 0 #define MaxSize 30 typedef struct athletestruct /*運動員*/ { char name[20]; int score; /*分數*/ int range; /**/ int item; /*項目*/ }ATH; typedef struct schoolstruct /*學校*/ { int count; /*編號*/ int serial; /**/ int menscore; /*男選手分數*/ int womenscore; /*女選手分數*/ int totalscore; /*總分*/ ATH athlete[MaxSize]; /**/ struct schoolstruct *next; }SCH; int nsc,msp,wsp; int ntsp; int i,j; int overgame; int serial,range; int n; SCH *head,*pfirst,*psecond; int *phead=NULL,*pafirst=NULL,*pasecond=NULL; void create(); void input () { char answer; head = (SCH *)malloc(sizeof(SCH)); /**/ head->next = NULL; pfirst = head; answer = 'y'; while ( answer == 'y' ) { Is_Game_DoMain: printf("\nGET Top 5 when odd\nGET Top 3 when even"); printf("\n輸入運動項目序號 (x<=%d):",ntsp); scanf("%d",pafirst); overgame = *pafirst; if ( pafirst != phead ) { for ( pasecond = phead ; pasecond < pafirst ; pasecond ++ ) { if ( overgame == *pasecond ) { printf("\n這個項目已經存在請選擇其他的數字\n"); goto Is_Game_DoMain; } } } pafirst = pafirst + 1; if ( overgame > ntsp ) { printf("\n項目不存在"); printf("\n請重新輸入"); goto Is_Game_DoMain; } switch ( overgame%2 ) { case 0: n = 3;break; case 1: n = 5;break; } for ( i = 1 ; i <= n ; i++ ) { Is_Serial_DoMain: printf("\n輸入序號 of the NO.%d (0<x<=%d): ",i,nsc); scanf("%d",&serial); if ( serial > nsc ) { printf("\n超過學校數目,請重新輸入"); goto Is_Serial_DoMain; } if ( head->next == NULL ) { create(); } psecond = head->next ; while ( psecond != NULL ) { if ( psecond->serial == serial ) { pfirst = psecond; pfirst->count = pfirst->count + 1; goto Store_Data; } else { psecond = psecond->next; } } create(); Store_Data: pfirst->athlete[pfirst->count].item = overgame; pfirst->athlete[pfirst->count].range = i; pfirst->serial = serial; printf("Input name:) : "); scanf("%s",pfirst->athlete[pfirst->count].name); } printf("\n繼續輸入運動項目(y&n)?"); answer = getchar(); printf("\n"); } } void calculate() /**/ { pfirst = head->next; while ( pfirst->next != NULL ) { for (i=1;i<=pfirst->count;i++) { if ( pfirst->athlete[i].item % 2 == 0 ) { switch (pfirst->athlete[i].range) { case 1:pfirst->athlete[i].score = 5;break; case 2:pfirst->athlete[i].score = 3;break; case 3:pfirst->athlete[i].score = 2;break; } } else { switch (pfirst->athlete[i].range) { case 1:pfirst->athlete[i].score = 7;break; case 2:pfirst->athlete[i].score = 5;break; case 3:pfirst->athlete[i].score = 3;break; case 4:pfirst->athlete[i].score = 2;break; case 5:pfirst->athlete[i].score = 1;break; } } if ( pfirst->athlete[i].item <=msp ) { pfirst->menscore = pfirst->menscore + pfirst->athlete[i].score; } else { pfirst->womenscore = pfirst->womenscore + pfirst->athlete[i].score; } } pfirst->totalscore = pfirst->menscore + pfirst->womenscore; pfirst = pfirst->next; } } void output() { pfirst = head->next; psecond = head->next; while ( pfirst->next != NULL ) { // clrscr(); printf("\n第%d號學校的結果成績:",pfirst->serial); printf("\n\n項目的數目\t學校的名字\t分數"); for (i=1;i<=ntsp;i++) { for (j=1;j<=pfirst->count;j++) { if ( pfirst->athlete[j].item == i ) { printf("\n %d\t\t\t\t\t\t%s\n %d",i,pfirst->athlete[j].name,pfirst->athlete[j].score);break; } } } printf("\n\n\n\t\t\t\t\t\t按任意建 進入下一頁"); getchar(); pfirst = pfirst->next; } // clrscr(); printf("\n運動會結果:\n\n學校編號\t男運動員成績\t女運動員成績\t總分"); pfirst = head->next; while ( pfirst->next != NULL ) { printf("\n %d\t\t %d\t\t %d\t\t %d",pfirst->serial,pfirst->menscore,pfirst->womenscore,pfirst->totalscore); pfirst = pfirst->next; } printf("\n\n\n\t\t\t\t\t\t\t按任意建結束"); getchar(); } void create() { pfirst = (struct schoolstruct *)malloc(sizeof(struct schoolstruct)); pfirst->next = head->next ; head->next = pfirst ; pfirst->count = 1; pfirst->menscore = 0; pfirst->womenscore = 0; pfirst->totalscore = 0; } void Save() {FILE *fp; if((fp = fopen("school.dat","wb"))==NULL) {printf("can't open school.dat\n"); fclose(fp); return; } fwrite(pfirst,sizeof(SCH),10,fp); fclose(fp); printf("文件已經成功保存\n"); } void main() { system("cls"); printf("\n\t\t\t 運動會分數統計\n"); printf("輸入學校數目 (x>= 5):"); scanf("%d",&nsc); printf("輸入男選手的項目(x<=20):"); scanf("%d",&msp); printf("輸入女選手項目(<=20):"); scanf("%d",&wsp); ntsp = msp + wsp; phead = (int *)calloc(ntsp,sizeof(int)); pafirst = phead; pasecond = phead; input(); calculate(); output(); Save(); }
標簽: 源代碼
上傳時間: 2016-12-28
上傳用戶:150501
隨著電力電子技術的飛速發展,高頻開關電源由于其諸多優點已經廣泛深入到國防、工業、民用等各個領域,與人們的工作、生活密切相關,由此引發的電網諧波污染也越來越受到人們的重視,對其性能,體積,效率,功率密度等的要求也越來越高。因此,研究具有高功率因數、高效率的ACDC變換技術,對于抑制諧波污染、節釣能源及實現綠色電能變換具有重要意義通過分析目前功率因數校正PFC)技術與直流變換(DcDC)技術的研究現狀,采用了具有兩級結構的AcDc變換技術,對PFC控制技術,直流變換軟開關實現等內容進行了研究。前級PFC部分采用先進的單周期控制技術,通過對其應用原理、穩定性與優勢性能的研究,實璄了主電路及控電路的參數設計與優化,簡化了PFC控制電路結構、根據控制電路特點與系統環路穩性要求,完成了電流環路與整個控制環路設計,確保了系統穩定性,提高了系統動態響應。通過建立電路閉環仿真模型,驗證了單周期控制抑制輸入電壓與負載擾動的優勢性能及連續功率因數校正的優點,優化了電路參數后級直流變換主電路采用LLC諧振拓撲,通過變頻控制使直流變換環節具有軾開關特性。分析了不同開關頻率范圍內電路工作原理,并建立了基波等效電路,采用基波分析法對VLc需城電路的電反增益性,輸入阻抗持性進行了研究,確定了電路軟開關工作范圖。以基波分析結果為基礎進行了合理的電路參數優化設計,保證了直流變換環節在全輸入電壓范圍、全負載范圍內能實現橋臂開關管零電壓開通zVS},較大范圍內邊整流二極管零電流關斷區CS),并將諧振電路中的電壓電流應力降到最小,極大的提高了系統效率同時,為了提高系統功率密度,選擇了優化的磁性元器件結構,實現了諧振感性元件與變壓器的磁性器件集成,大大減小了變換電路的體積在理論研究與參數設計的基礎上,搭建了實驗樣機,分別對PFC部分和DcDC部分進行了實驗驗證與結果分析。經實驗驗證ACDc變換電路功率因數在0.988以上,直瓿變換電路能實現全范圖軟開關,實現了高效率AcDC變換。關鍵詞:ACDC變換:功率因數校正:;高效率;LLC諧振電路:單周期控制
上傳時間: 2022-03-24
上傳用戶:
主要內容介紹 Allegro 如何載入 Netlist,進而認識新式轉法和舊式轉法有何不同及優缺點的分析,透過本章學習可以對 Allegro 和 Capture 之間的互動關係,同時也能體驗出 Allegro 和 Capture 同步變更屬性等強大功能。Netlist 是連接線路圖和 Allegro Layout 圖檔的橋樑。在這裏所介紹的 Netlist 資料的轉入動作只是針對由 Capture(線路圖部分)產生的 Netlist 轉入 Allegro(Layout部分)1. 在 OrCAD Capture 中設計好線路圖。2. 然後由 OrCAD Capture 產生 Netlist(annotate 是在進行線路圖根據第五步產生的資料進行編改)。 3. 把產生的 Netlist 轉入 Allegro(layout 工作系統)。 4. 在 Allegro 中進行 PCB 的 layout。 5. 把在 Allegro 中產生的 back annotate(Logic)轉出(在實際 layout 時可能對原有的 Netlist 有改動過),並轉入 OrCAD Capture 裏進行回編。
上傳時間: 2022-04-28
上傳用戶:kingwide
影響共面波導特性阻抗的主要因素有,基材介電常數(通常為 4.2~4.6,這里取 4.4)、信號層與參考地間距 H、線寬 W、對地間隙 S、銅皮厚度 T。表 1 列出了不同信號層與參考地間距 H 和銅皮厚度 T=0.035mm時,50 歐姆特性阻抗對應的線寬 W 及對地間隙 S 推薦值:表 1:不同信號層與參考地間距所對應的 50 歐姆共面波導線寬及對地間距推薦值如果是 2 層板,信號層為 Top 層,參考地為 Bottom 層,如下圖 3。如果是 4 層板,參考地可以是第 2層、第 3 層或者第 4 層。若參考地是第 3 層,信號層正下方第 2 層要禁鋪,禁鋪區域的寬度至少是信號線寬的 5 倍,如下圖 4。若參考地是第 4 層,信號層正下方第 2 層和第 3 層都要禁鋪,禁鋪區域的寬度至少是信號線寬的 5 倍,如下圖 5。如果是 6 層板以上以此類推。
標簽: 射頻
上傳時間: 2022-07-17
上傳用戶:
家 庭 總 線 是 智 能 家 居 實 現 的 重 要 基 礎 . 是 住 宅 內 部 的 神 經 系 統 . 其 主 要 作 用 是 連 接 家 中的各 種 電子 、 電氣 設 備 . 負責 將 家 庭 內 的 各 種 通 信 設 備 ( 包 括 安 保 、 電話 、 家 電 、 視 聽 設 備 等 )連 接 在 一 起 . 形 成 一 個 完 整 的家 庭 網 絡 。 日 本 是 較 早 推 動 智 能 家 居 發 展 的 國 家 之 一 , 它 較 早 地 提 出 了 家庭 總線 系統 (H O m e B u S S Y S t e m , 簡稱H B S ) 的概念 . 成 立 了 家庭 總線 (H B S )研 究會 . 并 在 郵政省和 通 產 省 的指 導 下 組 成 了H B S 標 準委 員 會 , 制定 了 日 本 的H B s 標 準 。 按 照 該 標 準 , H B S 系統 由一 條 同 軸 電 纜 和 4 對 雙 絞 線 構 成 , 前 者 用 于 傳 輸 圖 像 信 息 . 后者 用 于 傳輸語 音 、 數據及 控制信 號 。 各 類家用 設 備 與 電氣 設 備 均 按 一 定 方式 與H B S 相 連 , 這 些 電氣設 備 既 可 以在 室 內進 行 控制 . 也 可 在異地 通 過 電話進行 遙 控 。 為適 應 大型 居住社 區 的需 要 , 1 9 8 8 年年初 , 日 本住 宅信息 化推進協會 又 推 出 了 超級 家庭總 線 (S u p e r H0 m e B u s S y s t e m , 簡 稱S - H B S ) , 它適 用 于 更 大 的范 圍 . 因 為一 個S - H B s 系統可 掛接 數千個家庭 內部 網 。 家庭 智能化要 求諸 多家 電和 網絡能夠彼此 相容 . 總線協 議是 其精髓 所 在 , 只 有接 E l 暢通 , 家 電才能 “ 聽懂 ” 人 發 出的指令 , 因此 總線標準 的物理 層 接 口 形 式 是 智能 家居 亟 待解決 的重 要 問題 之 一 。 目前 比 較成型 的總線標 準 協 議 主 要 是 美 國公 司 提 出 的 , 包 括E c h e l o n 公 司 I)~L o n W o r k s 協議 、 電子 工 業 協 會 (E I A ) 的C E 總線協 議 (C EB u S ) 、 S m a r t Ho u s e L P 的智 能屋 協 議 和×一 1 0 公 司 的X 一 1 0 協 議等。 這 些 協 議 各 有 優 劣 。
標簽: 智能家居
上傳時間: 2022-03-11
上傳用戶:
W火電機組 儀控分冊
上傳時間: 2013-04-15
上傳用戶:eeworm
無線供電、充電模塊
上傳時間: 2013-06-07
上傳用戶:eeworm
專輯類-實用電子技術專輯-385冊-3.609G 無線供電、充電模塊.pdf
上傳時間: 2013-07-18
上傳用戶:15071087253
網絡監控工具服務器端
標簽:
上傳時間: 2015-01-19
上傳用戶:xcy122677
採用ROM監控器的調試技巧分析
上傳時間: 2015-02-23
上傳用戶:wfl_yy