#include#includevoidchuansong(intar[]){inti;FILE*fp;if((fp=fopen("d:\data.txt">
四、設計源程序

四、設計源程序

ID:35109951

大小:118.50 KB

頁數:10頁

時間:2019-03-18

四、設計源程序_第1頁
四、設計源程序_第2頁
四、設計源程序_第3頁
四、設計源程序_第4頁
四、設計源程序_第5頁
資源描述:

《四、設計源程序》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫

1、四、設計源程序#include#include#includevoidchuansong(intar[]){inti;FILE*fp;if((fp=fopen("d:\data.txt","w+"))==NULL){printf("Cannotopenfile");exit(0);}for(i=0;i<10;i++)fprintf(fp,"%4d",ar[i]);fclose(fp);}voidsort(intar[],intsz){inti,j,tmp;for(i=0;i

2、j=i+1;jar[j]){tmp=ar[i];ar[i]=ar[j];ar[j]=tmp;}/*for(i=0;i<11;i++)printf("%d",ar[i]);*///此處可以打印出data中的成績排名情況。chuansong(ar);}duqu(n1){inti,paixu[11];FILE*fp;paixu[10]=n1;if((fp=fopen("d:\data.txt","r+"))==NULL){printf("Cannotopenfile");exit(0);}while(!feof(fp)){fo

3、r(i=0;i<10;i++)fscanf(fp,"%d",&paixu[i]);}printf("");fclose(fp);sort(paixu,11);}voidmain(){inti,j,n=0,m=0;intsuiji[5];intcaice[5];intk[3];srand((int)time(NULL));//定義rand的隨機種子,如果不定義,rand默認種子值是1。for(i=0;i<5;i++)//每次運行時刻產生不同的隨機數列。suiji[i]=rand()%10;do{k[0]=0;k[1]=0;k[2]=0;printf("Ple

4、aseenteryour5guessnumbers:");for(i=0;i<5;i++)scanf("%d",&caice[i]);for(i=0;i<5;i++){if(suiji[i]==caice[i])k[0]++;}for(i=0;i<5;i++){for(j=0;j<5;j++){if(caice[j]==suiji[i]){k[2]++;break;}}}k[1]=(k[2]-k[0]);printf("Theresultis:")printf("%dY%dN",k[0],k[1]);printf("Therealresultis:

5、");for(i=0;i<5;i++)printf("%d",suiji[i]);//此處用于打印電腦產生的隨機數的真實值。n++;m++;}while(m<9&&(k[0]!=5));if(m<9&&(k[0]=5)){printf("Youarewin");duqu(n);}elseprintf("Thegameisover");}五、結果分析(1)、先調試主函數,主函數主要功能是完成電腦產生的隨機數與用戶輸入的5個數進行比較,并給出結果,同時會調用子函數,調試主函數時,先把duqu()子函數屏蔽掉,僅看輸出的n值來判定主函數的正誤,從而確保主

6、函數是正確的,即如果用戶輸入超過9次,屏幕顯示“Thegameisover”n值大于9,如果用戶在9次機會內猜對的話,輸出的n值小于9。(2)、編寫duqu()函數,duqu()的形參值是main()函數傳遞過來的n值,主要功能讀取d盤下的data文檔中的十個數,定義大小為11的數組來存放讀取的10個數和n的值,在編寫duqu()函數時,最好單獨編寫,至于n的值,先可當成已知值給予,然后調試,看數組中的數是否正確,若不正確,則繼續(xù)調試,直至正確為止。(3)、編寫sort()函數,其編法采用冒泡法對數組中的11個數進行排序,各位同學對此已經很熟悉,在此不作多講。

7、(4)、編寫chuansong()函數,此函數通俗點說可以看成是duqu()函數的逆過程,即把排序好的11個數前10位送到data文檔中保存起來。(5)、在確保以上四個模塊正確的前提下,把這四個模塊“縫合”到一起,并調試觀察結果。(6)、例如某用戶在9次內沒有猜對其5個數的過程如下:例如用戶在第二次就猜對了六、調試過程中的問題1、在主函數中首先遇到的問題是產生隨機數問題,rand(),srand()的使用,我們先運行兩個程序:(1)#include#includemain(){inti,j;for(i=0;i<10;i+

8、+){j=rand()%10;prin

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯系客服處理。