资源描述:
《南开100题word加答案二级c语言考试.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、1:下列程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx。请编写函数num(intm,intk,intxx[])实现函数的要求,最后调用函数readwriteDAT()把结果输出到文件out.dat中。例如:若输入17,5,则应输出:19,23,29,31,37。注意:部分源程序已给出。请勿改动主函数main()和函数readwriteDAT()的内容。---------类型:素数。voidnum(intm,intk,intxx[])/*标准答案*/{intdata=m+1;inthal
2、f,n=0,I;while(1){half=data/2;for(I=2;I<=half;I++)if(data%I==0)break;if(I>half){xx[n]=data;n++;}if(n>=k)break;data++;}}或者:voidnum(intm,intk,intxx[]){inti,j,s=0;for(i=m+1;k>0;i++){for(j=2;j
3、循环*/if(i==j){xx[s++]=i;k--;}}}或者:voidnum(intm,intk,intxx[]){inti=0;for(m=m+1;k>0;m++)if(isP(m)){xx[i++]=m;k--;}}原程序如下:#include#includevoidreadwriteDAT();intisP(intm){inti;for(i=2;i4、intxx[]){}main(){intm,n,xx[1000];clrscr();printf("Pleaseentertwointegers:");scanf("%d,%d",&m,&n);num(m,n,xx);for(m=0;m5、in.dat","r");wf=fopen("out.dat","w");for(i=0;i<10;i++){fscanf(rf,"%d%d",&m,&n);num(m,n,xx);for(m=0;m6、位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。注意:部分源程序存在文件PROG1.C文件中。程序中已定义数组:a[200],b[200],已定义变量:cnt请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容---------------------
7、----voidjsVal()/*标准答案*/{intbb[4];intI,j,k,flag;for(I=0;I<200;I++){bb[0]=a[I]/1000;bb[1]=a[I]%1000/100;bb[2]=a[I]%100/10;bb[3]=a[I]%10;for(j=0;j<4;j++){if(bb[j]%2==0)flag=1;else{flag=0;break;}}if(flag==1){b[cnt]=a[I];cnt++;}}for(I=0;I8、I+1;j#defineMAX200inta[MAX],b[MAX],cnt=0;voidjsVal(){}voidreadDat(){inti;FILE*fp;fp=fopen("in.dat","r");for(i=0;i