題目:加密軟件 要求:(1)輸入任意一段明文M,以及密鑰K (2)根據一下公式將其轉換為密文C。 Ci = mi + K ,其中i = 0,1,……n-1 , K 為密鑰; (3)具有輸入輸出界面。
上傳時間: 2013-11-25
上傳用戶:shawvi
#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
取各障礙物頂點連線的中點為路徑點,相互連接各路徑點,將機器人移動的起點和終點限制在各路徑點上,利用最短路徑算法來求網絡圖的最短路徑,找到從起點P1到終點Pn的最短路徑。上述算法使用了連接線中點的條件,因此不是整個規劃空間的最優路徑,然后利用遺傳算法對找到的最短路徑各個路徑點Pi (i=1,2,…n)調整,讓各路徑點在相應障礙物端點連線上滑動,利用Pi= Pi1+ti×(Pi2-Pi1)(ti∈[0,1] i=1,2,…n)即可確定相應的Pi,即為新的路徑點,連接此路徑點為最優路徑。
上傳時間: 2017-05-05
上傳用戶:tttt123
【例3.1]4位全加器module adder 4(cout,sum i na,i nb,cin);output[3:0]sum output cout;input[3:0]i na,i nb;input cin;assign(cout,suml=i na +i nb+ci n;endmodule【例3.2]4位計數器module count 4(out,reset,clk);output[3:0]out;input reset,cl k;regl 3:01 out;always@posedge clk)
標簽: verilog
上傳時間: 2022-06-16
上傳用戶:canderile
1.1 概述本章首先介紹客戶-服務器事務概念。我們從使用 U D P的客戶-服務器應用開始,這是最簡單的情形。接著我們編寫使用 T C P的客戶和服務器程序,并由此考察兩臺主機間交互的T C P / I P分組。然后我們使用T / T C P,證明利用T / T C P可以減少分組數,并給出為利用 T / T C P需要對兩端的源代碼所做的最少改動。接下來介紹了運行書中示例程序的測試網絡,并對分別使用 U D P、T C P和T / T C P的客戶-服務器應用程序進行了簡單的時間耗費比較。我們考察了一些使用 T C P的典型I n t e r n e t應用程序,看看如果兩端都支持 T / T C P,將需要做哪些修改。緊接著,簡要介紹了 I n t e r n e t協議族中事務協議的發展歷史,概略敘述了現有的 T / T C P實現。本書全文以及有關T / T C P的文獻中,事務一詞的含義都是指客戶向服務器發出一個請求,然后服務器對該請求作出應答。 I n t e r n e t中最常見的一個例子是,客戶向域名服務器 ( D N S )發出請求,查詢域名對應的 I P地址,然后域名服務器給出響應。本書中的事務這個術語并沒有數據庫中的事務那樣的含義:加鎖、兩步提交、回退,等等。TCP IP詳解 卷1協議 :http://dl.21ic.com/download/tcpip-288223.html TCP IP詳解 卷2實現 :http://dl.21ic.com/download/tcpip-288224.html TCPIP詳解卷三:TCP事務協議,HTTP,NNTP和UNIX域協議 :http://dl.21ic.com/download/tcpip-288225.html
上傳時間: 2022-07-27
上傳用戶:
本文以具體實例詳細地說明了組態王軟件中SQL 數據庫技術的要點,給出了在組態王軟件中利用該技術設計工控系統關于數據管理方面的一般方法和步驟,具體解決了工控系統中涉及數據庫方面的技術問題。該技術
上傳時間: 2013-04-24
上傳用戶:huql11633
/* * EULER S ALGORITHM 5.1 * * TO APPROXIMATE THE SOLUTION OF THE INITIAL VALUE PROBLEM: * Y = F(T,Y), A<=T<=B, Y(A) = ALPHA, * AT N+1 EQUALLY SPACED POINTS IN THE INTERVAL [A,B]. * * INPUT: ENDPOINTS A,B INITIAL CONDITION ALPHA INTEGER N. * * OUTPUT: APPROXIMATION W TO Y AT THE (N+1) VALUES OF T. */
標簽: APPROXIMATE ALGORITHM THE SOLUTION
上傳時間: 2015-08-20
上傳用戶:zhangliming420
26.編寫一個具有如下樣式的類模板tmplt,用于實現所謂的反序輸出問題,其中使用了類型參數T(使所處理的元素類型可變化)以及普通參數n(元素個數也可變化): template <class T, int n> class tmplt { T arr[n] // n個T類型的數據存放于數組arr之中 public: void dataIn() //從鍵盤輸入n個T類型數據放入arr數組中 void reverseOut() //將arr數組中的數據按輸入的相反順序輸出 } 而后編制主函數,將類模板實例化為某個具體的類并說明類對象,之后通過對象調用其負責輸入數據的成員函數,再通過對象調用另一成員函數按反序輸出那些輸入數據。
上傳時間: 2014-01-07
上傳用戶:xiaoxiang
Trie樹既可用于一般的字典搜索,也可用于索引查找。對于給定的一個字符串a1,a2,a3,...,an.則采用TRIE樹搜索經過n次搜索即可完成一次查找。不過好像還是沒有B樹的搜索效率高,B樹搜索算法復雜度為logt(n+1/2).當t趨向大,搜索效率變得高效。怪不得DB2的訪問內存設置為虛擬內存的一個PAGE大小,而且幀切換頻率降低,無需經常的PAGE切換。
上傳時間: 2016-07-06
上傳用戶:sk5201314
采用NLJ隨機搜索的方法辨識一個以狀態方法表示的非線性系統。選其初值 a1(0) =50 , a2(0) =100 , a3(0) =100 , a4(0) =50 , a5(0) =10 , 選范圍為 r(1)(i)=0.5 a(0)(i) , 取數據長度 L =40, t =0.005 , 性能指標 J= 。迭代計算結果得 a 的估計值 1=17.6043243, 1=17.5977, 2=72.9573, 3=51.3014, 4=22.9889, 5=5.99965, J = 0.000000916 。
上傳時間: 2013-12-20
上傳用戶:weiwolkt