上机题目分类

上传人:无*** 文档编号:161895409 上传时间:2022-10-16 格式:DOC 页数:36 大小:256KB
收藏 版权申诉 举报 下载
上机题目分类_第1页
第1页 / 共36页
上机题目分类_第2页
第2页 / 共36页
上机题目分类_第3页
第3页 / 共36页
资源描述:

《上机题目分类》由会员分享,可在线阅读,更多相关《上机题目分类(36页珍藏版)》请在装配图网上搜索。

1、第一部分 数字问题 关于数字类型的题目,在上机考试中属于占比率最大的类型,平均抽中的比率保持在45%以上,所以是在应试复习中需要作为重点。本类型题目重点考查的算法是:排序,素数,数字拆分。具体分为6类讲解.一. 数字拆分排序问题本类型涉及到 6,11,12- 24、88 共15套,需要同学们加强练习。其中第11套,因涉及到数字移位属于本类型中比较难的题目。 例6. 在文件in.dat中有200个正整数,且每个数均在1000至9999之间。函数ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行降序排列,然后取出满足此条件

2、的前10个数依次存入数组b中,如果后三位的数值相等,则按原先的数值进行升序排列。最后调用函数WriteDat()把结果bb输出到文件out.dat中。例:处理前 9012 5099 6012 7025 8088处理后 5099 8088 7025 6012 9012注意:部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 -void jsSort() /*标准答案*/int I,j,data;for(I=0;I199;I+)for(j=I+1;j200;j+)if (aaI%1000aaj)data=aaI;aaI=aaj;aa

3、j=data;for(I=0;I10;I+)bbI=aaI;原程序如下:#include#include#includeint aa200,bb10;void jsSort()void main()readDat();jsSort();writeDat();system(pause);readDat()FILE *in;int i;in=fopen(in.dat,r);for(i=0; i200; i+) fscanf(in,%d,&aai);fclose(in);writeDat()FILE *out;int i;clrscr();out=fopen(out.dat,w);for(i=0;

4、i10; i+)printf(i=%d,%dn,i+1,bbi);fprintf(out,%dn,bbi);fclose(out);14:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 依次从数组a中取出一个四位数,如果该数连续大于该四位数以后的5个数且该数是奇数, 则统计出满足此条件的个数cnt, 并把这些四位数按从小到大的顺序存入数组b中。 并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT

5、文件中。注意: 部分源程序存在文件PROG1.C文件中。程序中已定义数组: a200, b200, 已定义变量: cnt请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容void jsVal() /*标准答案*/int I,j,flag=0;int k;for(I=0;IMAX-5;I+)for(j=I+1;jaj)flag=1;else flag=0;break;if (aI%2=0)flag=0;if (flag=1)bcnt=aI; cnt+; for(I=0;Icnt-1;I+)for(j=I+1;jbj)k=bI;

6、bI=bj;bj=k;。45:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 依次从数组a中取出一个四位数,如果该数连续大于该四位数以前的5个数且该数是偶数, 则统计出满足此条件的个数cnt, 并把这些四位数按从大到小的顺序存入数组b中。 并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。注意: 部分源程序存在文件PROG1.C文件中。程序中已定义数组: a200, b200, 已定义变

7、量: cnt请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容void jsVal() /*标准答案*/int I,j,flag=0;for(I=5;IMAX-5;I+)for(j=I-5;jaj)flag=1;else flag=0;if(aI%2!=0)flag=0;if (flag=0) break;if(flag=1) bcnt=aI;cnt+;for(I=0;Icnt-1;I+)for(j=I+1;jcnt;j+)if(bIbj)flag=bI;bI=bj;bj=flag;46:已知数据文件IN.DAT中存有200

8、个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 依次从数组a中取出一个四位数,如果该数连续大于该四位数以前的5个数且该数是奇数,但该数必须能被7整除。 则统计出满足此条件的个数cnt, 并把这些四位数按从大到小的顺序存入数组b中。 并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。注意: 部分源程序存在文件PROG1.C文件中。程序中已定义数组: a200, b200, 已定义变量: cnt请勿改动数据文件IN.DAT中的

9、任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。-void jsVal() /*标准答案*/int I,j,flag=0;for(I=5;IMAX-5;I+)for(j=I-5;jaj)flag=1;else flag=0;break;if (flag=1&aI%2=1&aI%7=0) bcnt=aI;cnt+;for(I=0;Icnt-1;I+)for(j=I+1;jcnt;j+)if(bIbj)flag=bI;bI=bj;bj=flag;48:已知数据文件IN.DAT中存有300个四位数,并已调用读函数READDAT()把这些数存入数组A中.请编制

10、一函数SVALUE(),其功能是:求出千位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数CNT,再把所有满足条件的四位数依次存入数组bb中,然后对数组bb的四位数按从小到大的顺序进行排序,最后调用写函数WRITEDAT()把数组b中的数输出到OUT.DAT文件.例如:6712,6+2=7+1,则该数满足条件存入数组bb中,且个数CNT=CNT+1.8129,8+12+9,则该数不满足条件忽略.注意:部分源程序已给出。程序中已定义数组:a300,已定义变量:cnt请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。-void jsValue() /

11、*标准答案*/int I,thou,hun,ten,data,j;for(I=0;I300;I+)thou=aI/1000; hun=aI%1000/100;ten=aI%100/10; data=aI%10;if (thou+data=hun+ten)bcnt=aI;cnt+;for(I=0;Icnt-1;I+)for(j=I+1;jbj)data=bI; bI=bj; bj=data;49:已知数据文件IN.DAT中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsvalue(),其功能是:求出千位数上的数减百位数减十位数上的数减个位数上的数大于零的

12、个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果输出到OUT.DAT文件。 例如:9123,9-1-2-30,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。9812,9-8-1-20,则该数不满足条件计算平均值pjz2.注意:部分源程序已给出。程序中已定义数组:a300,已定义变量:cnt请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。-void jsValue() /*标准答案*/int I,thou,hun,ten,data,n=0;for(I=0;

13、I0)cnt+;pjz1+=aI;else n+;pjz2+=aI;pjz1/=cnt;pjz2/=n; 51:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 把千位数字和十位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字), 以及把个位数字和百位数字组成另一个新的十位数 (新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字), 如果新组成的两个十位数均是素数,同时两个新数的十位数字均不为零,则将满足此条件的四

14、位数按从大到小的顺序存入数组b中, 并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。注意: 部分源程序存在文件PROG1.C文件中。程序中已定义数组: a200, b200, 已定义变量: cnt请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。-void jsVal() /*标准答案*/int I,thou,hun,ten,data,j;int ab,cd;for(I=0;I200;I+)thou=aI/10

15、00; hun=aI%1000/100;ten=aI%100/10; data=aI%10;ab=10*thou+ten; cd=10*data+hun;if (isprime(ab)&isprime(cd)&ab!=0&cd!=0)bcnt=aI;cnt+;for(I=0;Icnt-1;I+)for(j=I+1;jcnt;j+)if(bIbj)data=bI;bI=bj;bj=data;原程序如下:#include #define MAX 200int aMAX, bMAX, cnt = 0;int isprime(int m)int i;for(i=2;i=m/2;i+)if(m%i=0)

16、 return 0;return 1;void jsVal()void readDat() int i ;FILE *fp ;fp = fopen(in.dat, r) ;for(i = 0 ; i MAX ; i+) fscanf(fp, %d, &ai) ;fclose(fp) ;void main() int i ;readDat() ;jsVal() ;printf(满足条件的数=%dn, cnt) ;for(i = 0 ; i cnt ; i+) printf(%d , bi) ;printf(n) ;writeDat() ;system(pause);writeDat() FILE

17、 *fp ;int i ;fp = fopen(out.dat, w) ;fprintf(fp, %dn, cnt) ;for(i = 0 ; i cnt ; i+) fprintf(fp, %dn, bi) ;fclose(fp) ;52:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 把千位数字和个位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的个位数字), 以及把十位数字和百位数字组成另一个新的十位数 (新十位数的十位数字是原四位数的百位数

18、字,新十位数的个位数字是原四位数的十位数字), 如果新组成的两个十位数均是奇数并且两个十位数中至少有一个能被5整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中, 并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。注意: 部分源程序存在文件PROG1.C文件中。程序中已定义数组: a200, b200, 已定义变量: cnt请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容-v

19、oid jsVal() /*标准答案*/int I,thou,hun,ten,data,j;int ab,cd;for(I=0;I200;I+)thou=aI/1000;hun=aI%1000/100;ten=aI%100/10;data=aI%10;ab=10*thou+data;cd=10*hun+ten;if (ab%2=1&cd%2=1&(ab%5=0|cd%5=0)&ab!=0&cd!=0)bcnt=aI;cnt+;for(I=0;Icnt-1;I+)for(j=I+1;jcnt;j+)if(bIbj)data=bI;bI=bj;bj=data;原程序如下:#include #def

20、ine MAX 200int aMAX, bMAX, cnt = 0;int isprime(int m)int i;for(i=2;i=m/2;i+)if(m%i=0) return 0;return 1;jsVal()void readDat() int i ;FILE *fp ;fp = fopen(in.dat, r) ;for(i = 0 ; i MAX ; i+) fscanf(fp, %d, &ai) ;fclose(fp) ;void main() int i ;readDat() ;jsVal() ;printf(满足条件的数=%dn, cnt) ;for(i = 0 ; i

21、 cnt ; i+) printf(%d , bi) ;printf(n) ;writeDat() ;system(pause);writeDat() FILE *fp ;int i ;fp = fopen(out.dat, w) ;fprintf(fp, %dn, cnt) ;for(i = 0 ; i 0,则该数满足条件存入数组b中,且个数cnt=cnt+1.8129,9-8-1-20,则该数不满足条件忽略。注意:部分源程序已给出。程序中已定义数组:a300,已定义变量:cnt请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。-void jsValue

22、() /*标准答案*/int I,thou,hun,ten,data,j;for(I=0;I0)bcnt=aI;cnt+;for(I=0;Icnt-1;I+)for(j=I+1;jcnt;j+)if(bIbj)data=bI; bI=bj;bj=data;原程序如下:#include int a300,b300,cnt=0;void jsValue() main()int i;readDat();jsValue();writeDat();for (i=0;icnt;i+) printf(b%d=%dn,i,bi);system(pause);readDat()FILE *fp;int i;fp

23、=fopen(in.dat,r);for (i=0;i300;i+) fscanf(fp, %d,&ai);fclose(fp);writeDat()FILE *fp;int i;fp=fopen(out.dat,w);fprintf(fp, %dn,cnt);for (i=0;icnt;i+) fprintf(fp, %dn,bi);fclose(fp);54:已知数据文件IN.DAT中存有300个四位数,并已调用读函数READDAT()把这些数存入数组A中.请编制一函数SVALUE(),其功能是:求出千位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数CNT,再把所有满足条件的四

24、位数依次存入数组b中,然后对数组b的四位数按从大到小的顺序进行排序,最后调用写函数WRITEDAT()把数组b中的数输出到OUT.DAT文件.例如:7153,7+1=5+3,则该数满足条件存入数组bb中,且个数CNT=CNT+1.8129,8+12+9,则该数不满足条件忽略.注意:部分源程序已给出。程序中已定义数组:a300,已定义变量:cnt请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。-void jsValue() /*标准答案*/int I,thou,hun,ten,data,j;for(I=0;I300;I+)thou=aI/1000;hun=

25、aI%1000/100;ten=aI%100/10;data=aI%10;if (thou+hun=data+ten)bcnt=aI;cnt+;for(I=0;Icnt-1;I+)for(j=I+1;jcnt;j+)if(bIbj)data=bI;bI=bj;bj=data;或者:jsValue()int q,b,s,g,i,j;for(i=0;i300;i+)q=ai/1000;b=ai/100%10;s=ai/10%10;g=ai%10;if(q+g=b+s)bcnt+=ai;for(i=0;icnt-1;i+)for(j=i+1;j bj)q=bi;bi=bj;bj=q;jsvalue(

26、) int i,k,m,a1,a2,a3,a4,j=0;for(i=0;i300;i+) a1=ai/1000;a2=(ai%1000)/100;a3=(ai%100)/10;a4=ai%10;if(a1+a2=a3+a4) cnt+;bj+=ai; for(i=0;icnt;i+)for(k=i+1;kcnt;k+)if(bi=0且ab-cd=10且两个数均是奇数, 同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中, 并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到O

27、UT.DAT文件中。注意: 部分源程序存在文件PROG1.C文件中。程序中已定义数组: a200, b200, 已定义变量: cnt请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容-void jsVal() /*标准答案*/int I,thou,hun,ten,data,j;int ab,cd;for(I=0;I=0&(ab-cd)=10&ab%2=1&cd%2=1&ab!=0&cd!=0)bcnt=aI;cnt+;for(I=0;Icnt-1;I+)for(j=I+1;jcnt;j+)if(bI0,则该数满足条件计算平均

28、值pjz1,且个数cnt=cnt+1。9812,9-8-1-20,则该数不满足条件计算平均值pjz2.注意:部分源程序已给出。程序中已定义数组:a300,已定义变量:cnt请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。-void jsValue() /*标准答案*/int I,thou,hun,ten,data,j;for(I=0;I0)bcnt=aI;cnt+;for(I=0;Icnt-1;I+)for(j=I+1;jbj)data=bI; bI=bj; bj=data; 29:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readD

29、at()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字), 以及把个位数字和百位数字组成另一个新的十位数cd (新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字), 如果新组成的两个十位数ab-cd=10且ab-cd=20且两个数均是偶数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中, 并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结

30、果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。注意: 部分源程序存在文件PROG1.C文件中。程序中已定义数组: a200, b200, 已定义变量: cnt请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。-void jsVal() /*标准答案*/int I,thou,hun,ten,data,j;int ab,cd;for(I=0;I=0&(ab-cd)=10&ab%2=1&cd%2=1&ab!=0&cd!=0)bcnt=aI;cnt+;for(I=0;Icnt-1;I+)for(j=I+1;jcn

31、t;j+)if(bIbj)data=bI; bI=bj;bj=data;例31.72:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 把千位数字和个位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的个位数字), 以及把十位数字和百位数字组成另一个新的十位数 (新十位数的十位数字是原四位数的百位数字,新十位数的个位数字是原四位数的十位数字), 如果新组成的两个十位数均是偶数并且两个十位数中至少有一个能被9整除,同时两个新数的十位数字均不为零,则将满足

32、此条件的四位数按从大到小的顺序存入数组b中, 并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。注意: 部分源程序存在文件PROG1.C文件中。程序中已定义数组: a200, b200, 已定义变量: cnt请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容75:在文件in.dat中有200组数据,每组有3个数,每个数均是三位数。函数ReadDat()读取这200组数据存放到结构数组aa中,请编制函数jsSort(

33、),其函数的功能是:要求在200组数据中找出条件为每组中的第一个数大于第二个数加第三个数的之和,其中满足条件的个数作为函数jsSort() 的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数据按照每组数据的第一个数加第三个之和的大小进行升序排列(第一个数加第三个数的和均不相等),排序后的结果仍重新存入结构数组bb中,最后调用函数WriteDat()把结果bb输出到文件out.dat中。注意:部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。-int jsSort() /*标准答案*/int I,j,count=0;

34、Data val;for(I=0;IaaI.x2+aaI.x3)bbcount.x1=aaI.x1;bbcount.x2=aaI.x2;bbcount.x3=aaI.x3;count+;for(I=0;Icount-1;I+)for(j=I+1;jcount;j+)if (bbI.x1+bbI.x3bbj.x1+bbj.x3)val=bbI; bbI=bbj; bbj=val;return count;76:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 把千位数字和个位数字重新组成一个新的十位数

35、(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的个位数字), 以及把十位数字和百位数字组成另一个新的十位数 (新十位数的十位数字是原四位数的百位数字,新十位数的个位数字是原四位数的十位数字), 如果新组成的两个十位数必须一个是奇数另一个是偶数,并且两个十位数中至少有一个能被17整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中, 并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。注意: 部分源程序存在文件PROG1.C文件

36、中。程序中已定义数组: a200, b200, 已定义变量: cnt请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容-void jsVal() /*标准答案*/int I,thou,hun,ten,data,j;int ab,cd;for(I=0;I200;I+)thou=aI/1000; hun=aI%1000/100;ten=aI%100/10; data=aI%10;ab=10*data+thou; cd=10*hun+ten;if (ab%2!=1&cd%2=1)|(ab%2=1&cd%2!=1)&(ab%17=0

37、|cd%17=0)&ab!=0&cd!=0)bcnt=aI;cnt+;for(I=0;Icnt-1;I+)for(j=I+1;jcnt;j+)if(bIbj)data=bI;bI=bj;bj=data;77:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:若一个四位数的千位数字上的值加上十位数字上的值等于百位数字上的值加上个位数字上的值,并且此四位数是偶数,则统计出满足此条件的个数cnt, 并把这些四位数按从小到大的顺序存入数组b中。最后main()函数调用写函数writeDat( )把结果cnt以

38、及数组b中符合条件的四位数输出到OUT.DAT文件中。注意: 部分源程序存在文件PROG1.C文件中。程序中已定义数组: a200, b200, 已定义变量: cnt请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。-void jsVal() /*标准答案*/int I,thou,hun,ten,data,j;for(I=0;IMAX;I+)thou=aI/1000; hun=aI%1000/100;ten=aI%100/10; data=aI%10;if (thou+ten=hun+data)&aI%2!=1)bcnt=aI;cnt+;for(I=0;I

39、cnt-1;I+)for(j=I+1;jbj)data=bI;bI=bj;bj=data;原程序如下:#include #define MAX 200int aMAX, bMAX, cnt = 0;void jsVal()void readDat() int i ;FILE *fp ;fp = fopen(in.dat, r) ;for(i = 0 ; i MAX ; i+) fscanf(fp, %d, &ai) ;fclose(fp) ;void main() int i ;readDat() ;jsVal() ;printf(满足条件的数=%dn, cnt) ;for(i = 0 ; i

40、 cnt ; i+) printf(%d , bi) ;printf(n) ;writeDat() ;system(pause);writeDat() FILE *fp ;int i ;fp = fopen(out.dat, w) ;fprintf(fp, %dn, cnt) ;for(i = 0 ; i cnt ; i+) fprintf(fp, %dn, bi) ;fclose(fp) ;78:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:若一个四位数的千位数字上的值大于等于百位数字上的值,百

41、位数字上的值大于等于十位数字上的值,十位数字上的值大于等于个位数字上的值,并且此四位数是奇数,则统计出满足此条件的个数cnt, 并把这些四位数按从小到大的顺序存入数组b中。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。注意: 部分源程序存在文件PROG1.C文件中。程序中已定义数组: a200, b200, 已定义变量: cnt请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。-void jsVal() /*标准答案*/int I,thou,hun,ten,data,j;for(I=

42、0;I=hun)&(hun=ten)&(ten=data)&aI%2!=0)bcnt=aI;cnt+;for(I=0;Icnt-1;I+)for(j=I+1;jbj)data=bI;bI=bj;bj=data;原程序如下:#include #define MAX 200int aMAX, bMAX, cnt = 0;void jsVal()void readDat() int i ;FILE *fp ;fp = fopen(in.dat, r) ;for(i = 0 ; i MAX ; i+) fscanf(fp, %d, &ai) ;fclose(fp) ;void main() int i

43、 ;readDat() ;jsVal() ;printf(满足条件的数=%dn, cnt) ;for(i = 0 ; i cnt ; i+) printf(%d , bi) ;printf(n) ;writeDat() ;system(pause);writeDat() FILE *fp ;int i ;fp = fopen(out.dat, w) ;fprintf(fp, %dn, cnt) ;for(i = 0 ; i 0,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。8129,9-8-1-20,则该数不满足条件计算平均值pjz2.注意:部分源程序已给出。程序中已定义数组:a

44、300,已定义变量:cnt,pjz1,pjz2.请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。-void jsValue() /*标准答案*/int I,thou,hun,ten,data,n=0;for(I=0;I0)cnt+;pjz1+=aI;else n+;pjz2+=aI;pjz1/=cnt;pjz2/=n; jsvalue() int i,a1,a2,a3,a4;for(i=0;i0) cnt+;pjz1+=ai; elsepjz2+=ai; pjz1/=cnt; pjz2/=(300-cnt);原程序如下:#include int a300

45、,cnt=0;double pjz1=0.0,pjz2=0.0;void jsvalue() main()int i;readDat();jsvalue();writeDat();printf(cnt=%dn满足条件的平均值pzj1=%7.21fn不满足条件的平均值pzj2=%7.21fn,cnt,pjz1,pjz2);readDat()FILE *fp;int i;fp=fopen(in.dat,r);for(i=0;i300;i+)fscanf(fp,%d,&ai);fclose(fp);writeDat()FILE *fp;int i;fp=fopen(out.dat,w);fprint

46、f(fp,%dn%7.21fn%7.21fn,cnt,pjz1,pjz2);fclose(fp);81:已知数据文件IN.DAT中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsvalue(),其功能是:求出千位数上的数加百位数等于十位数上的数加个位数上的数的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数把结果输出到OUT.DAT文件。例如:7153,7+1=5+3,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。8129,8+12+9,则该数不满足条件计算平均值pjz2.注意

47、:部分源程序已给出。程序中已定义数组:a300,已定义变量:cnt请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。-void jsValue() /*标准答案*/int I,thou,hun,ten,data,n=0;for(I=0;I300;I+)thou=aI/1000; hun=aI%1000/100;ten=aI%100/10; data=aI%10;if (thou+hun=ten+data)cnt+;pjz1+=aI;else n+;pjz2+=aI;pjz1/=cnt;pjz2/=n; 原程序如下:#include int a300,b30

48、0,cnt=0;double pjz1=0.0,pjz2=0.0;void jsValue() main()int i;readDat();jsValue();writeDat();printf(cnt=%dn满足条件的平均值pzj1=%7.21fn不满足条件的平均值pzj2=%7.21fn,cnt,pjz1,pjz2);system(pause);readDat()FILE *fp;int i;fp=fopen(in.dat,r);for (i=0;i300;i+) fscanf(fp, %d,&ai);fclose(fp);writeDat()FILE *fp;int i;fp=fopen

49、(out.dat,w);fprintf(fp,%dn%7.21fn%7.21fn,cnt,pjz1,pjz2);fclose(fp);82:已知数据文件IN.DAT中存有300个四位数,并已调用读函数READDAT()把这些数存入数组A中.请编制一函数SVALUE(),其功能是:求出所有这些四位数是素数的个数CNT,再求出所有满足此条件的四位数平均值PJZ1,以及不满足条件的四位数平均值PJZ2,最后调用写函数WRITEDAT()把结果CNT,PJZ1,PJZ2输出 到OUT.DAT文件.例如:5591是素数,则该数满足条件计算平均值PJZ1,且个数CNT=CNT+1.9812是非素数,则该数不满足条件计算平均值PJZ2。注意:部分源程序已给出。程序中已定义数组:a300,已定义变量:cnt,pjz1,pjz2.

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!