實(shí)驗(yàn)源代碼 //Warshall.cpp #include<stdio.h> void warshall(int k,int n) { int i , j, t; int temp[20][20]; for(int a=0;a<k;a++) { printf("請(qǐng)輸入矩陣第%d 行元素:",a); for(int b=0;b<n;b++) { scanf ("%d",&temp[a][b]); } } for(i=0;i<k;i++){ for( j=0;j<k;j++){ if(temp[ j][i]==1) { for(t=0;t<n;t++) { temp[ j][t]=temp[i][t]||temp[ j][t]; } } } } printf("可傳遞閉包關(guān)系矩陣是:\n"); for(i=0;i<k;i++) { for( j=0;j<n;j++) { printf("%d", temp[i][ j]); } printf("\n"); } } void main() { printf("利用 Warshall 算法求二元關(guān)系的可傳遞閉包\n"); void warshall(int,int); int k , n; printf("請(qǐng)輸入矩陣的行數(shù) i: "); scanf("%d",&k); 四川大學(xué)實(shí)驗(yàn)報(bào)告 printf("請(qǐng)輸入矩陣的列數(shù) j: "); scanf("%d",&n); warshall(k,n); }
標(biāo)簽: warshall 離散 實(shí)驗(yàn)
上傳時(shí)間: 2016-06-27
上傳用戶:梁雪文以
#include <malloc.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #define NULL 0 #define MaxSize 30 typedef struct athletestruct /*運(yùn)動(dòng)員*/ { char name[20]; int score; /*分?jǐn)?shù)*/ int range; /**/ int item; /*項(xiàng)目*/ }ATH; typedef struct schoolstruct /*學(xué)校*/ { int count; /*編號(hào)*/ int serial; /**/ int menscore; /*男選手分?jǐn)?shù)*/ int womenscore; /*女選手分?jǐn)?shù)*/ 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輸入運(yùn)動(dòng)項(xiàng)目序號(hào) (x<=%d):",ntsp); scanf("%d",pafirst); overgame = *pafirst; if ( pafirst != phead ) { for ( pasecond = phead ; pasecond < pafirst ; pasecond ++ ) { if ( overgame == *pasecond ) { printf("\n這個(gè)項(xiàng)目已經(jīng)存在請(qǐng)選擇其他的數(shù)字\n"); goto Is_Game_DoMain; } } } pafirst = pafirst + 1; if ( overgame > ntsp ) { printf("\n項(xiàng)目不存在"); printf("\n請(qǐng)重新輸入"); 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輸入序號(hào) of the NO.%d (0<x<=%d): ",i,nsc); scanf("%d",&serial); if ( serial > nsc ) { printf("\n超過學(xué)校數(shù)目,請(qǐng)重新輸入"); 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繼續(xù)輸入運(yùn)動(dòng)項(xiàng)目(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號(hào)學(xué)校的結(jié)果成績(jī):",pfirst->serial); printf("\n\n項(xiàng)目的數(shù)目\t學(xué)校的名字\t分?jǐn)?shù)"); 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按任意建 進(jìn)入下一頁(yè)"); getchar(); pfirst = pfirst->next; } // clrscr(); printf("\n運(yùn)動(dòng)會(huì)結(jié)果:\n\n學(xué)校編號(hào)\t男運(yùn)動(dòng)員成績(jī)\t女運(yùn)動(dòng)員成績(jī)\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按任意建結(jié)束"); 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("文件已經(jīng)成功保存\n"); } void main() { system("cls"); printf("\n\t\t\t 運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)\n"); printf("輸入學(xué)校數(shù)目 (x>= 5):"); scanf("%d",&nsc); printf("輸入男選手的項(xiàng)目(x<=20):"); scanf("%d",&msp); printf("輸入女選手項(xiàng)目(<=20):"); scanf("%d",&wsp); ntsp = msp + wsp; phead = (int *)calloc(ntsp,sizeof(int)); pafirst = phead; pasecond = phead; input(); calculate(); output(); Save(); }
標(biāo)簽: 源代碼
上傳時(shí)間: 2016-12-28
上傳用戶:150501
題目:古典問題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長(zhǎng)到第三個(gè)月后每個(gè)月又生一對(duì)兔子,假如兔子都不死,問每個(gè)月的兔子總數(shù)為多少? //這是一個(gè)菲波拉契數(shù)列問題 public class lianxi01 { public static void main(String[] args) { System.out.println("第1個(gè)月的兔子對(duì)數(shù): 1"); System.out.println("第2個(gè)月的兔子對(duì)數(shù): 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"個(gè)月的兔子對(duì)數(shù): "+f2); } } } 【程序2】 題目:判斷101-200之間有多少個(gè)素?cái)?shù),并輸出所有素?cái)?shù)。 程序分析:判斷素?cái)?shù)的方法:用一個(gè)數(shù)分別去除2到sqrt(這個(gè)數(shù)),如果能被整除, 則表明此數(shù)不是素?cái)?shù),反之是素?cái)?shù)。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素?cái)?shù)個(gè)數(shù)是: " + count); } } 【程序3】 題目:打印出所有的 "水仙花數(shù) ",所謂 "水仙花數(shù) "是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個(gè) "水仙花數(shù) ",因?yàn)?53=1的三次方+5的三次方+3的三次方。 public class lianxi03 { public static void main(String[] args) { int b1, b2, b3;
上傳時(shí)間: 2017-12-24
上傳用戶:Ariza
function [alpha,N,U]=youxianchafen2(r1,r2,up,under,num,deta) %[alpha,N,U]=youxianchafen2(a,r1,r2,up,under,num,deta) %該函數(shù)用有限差分法求解有兩種介質(zhì)的正方形區(qū)域的二維拉普拉斯方程的數(shù)值解 %函數(shù)返回迭代因子、迭代次數(shù)以及迭代完成后所求區(qū)域內(nèi)網(wǎng)格節(jié)點(diǎn)處的值 %a為正方形求解區(qū)域的邊長(zhǎng) %r1,r2分別表示兩種介質(zhì)的電導(dǎo)率 %up,under分別為上下邊界值 %num表示將區(qū)域每邊的網(wǎng)格剖分個(gè)數(shù) %deta為迭代過程中所允許的相對(duì)誤差限 n=num+1; %每邊節(jié)點(diǎn)數(shù) U(n,n)=0; %節(jié)點(diǎn)處數(shù)值矩陣 N=0; %迭代次數(shù)初值 alpha=2/(1+sin(pi/num));%超松弛迭代因子 k=r1/r2; %兩介質(zhì)電導(dǎo)率之比 U(1,1:n)=up; %求解區(qū)域上邊界第一類邊界條件 U(n,1:n)=under; %求解區(qū)域下邊界第一類邊界條件 U(2:num,1)=0;U(2:num,n)=0; for i=2:num U(i,2:num)=up-(up-under)/num*(i-1);%采用線性賦值對(duì)上下邊界之間的節(jié)點(diǎn)賦迭代初值 end G=1; while G>0 %迭代條件:不滿足相對(duì)誤差限要求的節(jié)點(diǎn)數(shù)目G不為零 Un=U; %完成第n次迭代后所有節(jié)點(diǎn)處的值 G=0; %每完成一次迭代將不滿足相對(duì)誤差限要求的節(jié)點(diǎn)數(shù)目歸零 for j=1:n for i=2:num U1=U(i,j); %第n次迭代時(shí)網(wǎng)格節(jié)點(diǎn)處的值 if j==1 %第n+1次迭代左邊界第二類邊界條件 U(i,j)=1/4*(2*U(i,j+1)+U(i-1,j)+U(i+1,j)); end if (j>1)&&(j U2=1/4*(U(i,j+1)+ U(i-1,j)+ U(i,j-1)+ U(i+1,j)); U(i,j)=U1+alpha*(U2-U1); %引入超松弛迭代因子后的網(wǎng)格節(jié)點(diǎn)處的值 end if i==n+1-j %第n+1次迭代兩介質(zhì)分界面(與網(wǎng)格對(duì)角線重合)第二類邊界條件 U(i,j)=1/4*(2/(1+k)*(U(i,j+1)+U(i+1,j))+2*k/(1+k)*(U(i-1,j)+U(i,j-1))); end if j==n %第n+1次迭代右邊界第二類邊界條件 U(i,n)=1/4*(2*U(i,j-1)+U(i-1,j)+U(i+1,j)); end end end N=N+1 %顯示迭代次數(shù) Un1=U; %完成第n+1次迭代后所有節(jié)點(diǎn)處的值 err=abs((Un1-Un)./Un1);%第n+1次迭代與第n次迭代所有節(jié)點(diǎn)值的相對(duì)誤差 err(1,1:n)=0; %上邊界節(jié)點(diǎn)相對(duì)誤差置零 err(n,1:n)=0; %下邊界節(jié)點(diǎn)相對(duì)誤差置零 G=sum(sum(err>deta))%顯示每次迭代后不滿足相對(duì)誤差限要求的節(jié)點(diǎn)數(shù)目G end
標(biāo)簽: 有限差分
上傳時(shí)間: 2018-07-13
上傳用戶:Kemin
為微蕊的單片機(jī)與LCD interface
上傳時(shí)間: 2018-10-25
上傳用戶:mike329
MCS-8051單晶片控制點(diǎn)矩陣字幕機(jī)的相關(guān)資料
上傳時(shí)間: 2014-01-10
上傳用戶:hjshhyy
WEBGAME 機(jī)器人大戰(zhàn)EBS(無(wú)盡的戰(zhàn)爭(zhēng)) 架設(shè)方法 WIN2K系列主機(jī) ,最簡(jiǎn)單的方法就是 設(shè)置一個(gè)虛擬目錄 其它就稍微改改 config.cgi的設(shè)置,還有餓ebs_sub 1 2 3.cgi的圖片地址就基本好了 WIN2K沒有虛擬目錄的話就除了要做上面的那些以外 還要打開所有文件,搜索類似這樣的 require config.cgi 都改成絕對(duì)路徑就行了 UNIX LINUX FREEBSD 系列的話,就要設(shè)置屬性了 ebs目錄所有CGI文件設(shè)置成 755 所有DAT文件設(shè)置成 777 logmiulerebeb 目錄也就是數(shù)據(jù)目錄,這個(gè)要設(shè)置成 777 裏面所有文件也是 777 當(dāng)然,你可以修改這個(gè)目錄,最好修改成其他目錄,然後把config.cgi的數(shù)據(jù)庫(kù)目錄改改就可以了, 然後就是改 config.cgi的一些設(shè)置,還要改 ebs_sub 1 2 3.cgi的圖片地址了,最後就是,UNIX LINUX系列的大小寫都分的很清楚,這個(gè)版本我懶得整理,所以有的是答謝,有的是小寫,自己改改吧.
標(biāo)簽: WEBGAME WIN2K EBS 機(jī)器人
上傳時(shí)間: 2014-01-10
上傳用戶:tuilp1a
九十三學(xué)年 度 全國(guó)大學(xué)校院嵌入式軟體設(shè)計(jì)競(jìng)賽 多媒體組決賽報(bào)告書 具效能與耗電可調(diào)適性之智慧型數 位相機(jī)
標(biāo)簽: 63886 63849 64001 嵌入式
上傳時(shí)間: 2014-11-29
上傳用戶:jjj0202
USB是PC體系中的一套全新的工業(yè)標(biāo)準(zhǔn),它支持單個(gè)主機(jī)與多個(gè)外接設(shè)備同時(shí)進(jìn)行數(shù)據(jù)交換。 首先會(huì)介紹USB的結(jié)構(gòu)和特點(diǎn),包括總線特徵、協(xié)議定義、傳輸方式和電源管理等等。這部分內(nèi)容會(huì)使USB開發(fā)者和用戶對(duì)USB有一整體的認(rèn)識(shí)。
標(biāo)簽: USB
上傳時(shí)間: 2015-10-18
上傳用戶:lixinxiang
qemu性能直逼VMware的仿真器QEMU 的模擬速度約為實(shí)機(jī)的 25%;約為 Bochs 的 60 倍。Plex86、User-Mode-Linux、VMware 和 Virtual PC 則比 QEMU 快一點(diǎn),但 Bochs 需要特定的 Kernel Patch;User-Mode-Linux 的 Guest System 必須為 Linux;VMware 和 Virtual PC 則需要在 Guest System 上安裝特定的 Driver,且它們是針對(duì)作業(yè)系統(tǒng)而進(jìn)行模擬,並不能說是完整的模擬器。所以 QEMU 仍不失為極優(yōu)秀的 x86 模擬器。
標(biāo)簽: VMware User-Mode-Linux Virtual Bochs
上傳時(shí)間: 2014-06-04
上傳用戶:bakdesec
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1