四、设计源程序

四、设计源程序

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的值,先可当成已知值给予,然后调试,看数组中的数是否正确,若不正确,则继续调试,直至正确为止。(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. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。